मैं करने के लिए एक फ़ाइल को पोस्ट और PHP अपलोड करने को संभालने के लिए ....
इस कोड को एक तस्वीर अपलोड करने के लिए प्रयोग किया जाता है एक PHP पृष्ठ का उपयोग करें, लेकिन यह किसी भी फाइल के साथ काम करने के लिए अनुकूलित किया जा सकता है।
पीएचपी कोड:
<?php
$uploaddir = 'photos/';
$file = basename($_FILES['userfile']['name']);
$uploadfile = $uploaddir . $file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "OK";
} else {
echo "ERROR";
}
?>
iPhone कोड:
- (BOOL)uploadImage:(NSData *)imageData filename:(NSString *)filename{
NSString *urlString = @"http://www.yourdomainName.com/yourPHPPage.php";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n",filename]] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] autorelease];
return ([returnString isEqualToString:@"OK"]);
}
विधि कॉल:
[self uploadImage:UIImageJPEGRepresentation(imageView.image, 1.0) filename:imageName];
मैं अपने कोड को लागू करने का प्रयास किया गया है, लेकिन इस प्रक्रिया हमेशा एक त्रुटि देता है । मैं कोड ब्लॉक को पूरी तरह से समझ नहीं पा रहा हूं, इसलिए यह हो सकता है कि जिस तरह से डेटा लागू किया जा रहा है वह एनएसडीटा के लिए उचित नहीं है, मैं php फ़ाइल को भेजने का प्रयास कर रहा हूं। मेरे पास एक एनएसडीएटी ऑब्जेक्ट है जिसमें एनएसएमयूटेबलएरे के एनएसकेडएड आर्किवर के परिणाम शामिल हैं जिसमें कस्टम ऑब्जेक्ट्स (मेरे केस डेटाबेस रिकॉर्ड में) शामिल हैं। क्या आप मुझे कोड ब्लॉक और/या समझने के लिए एक अच्छे संसाधन के लिए इंगित करने में सक्षम होंगे मेरे उद्देश्य के लिए इस कोड को परिष्कृत करने के सुझावों पर सुझाव दें? –
सुधार: एक टाइपो था। कोड ठीक लौटाता है लेकिन फ़ाइल निर्दिष्ट निर्देशिका में सहेजी नहीं जाती है। –
समस्या हल हो गई। कृपया पहले अनुरोध की उपेक्षा करें। धन्यवाद! –