2012-06-04 19 views
12

मैंने कुछ उदाहरण देखे हैं लेकिन मुझे लगता है कि मेरी समस्या PHP में हो सकती है। मैं AFNetworking का उपयोग कर आईफोन से सर्वर पर एक छवि अपलोड करने की कोशिश कर रहा हूं।AFNetworking अपलोड करने की छवि

function upload(){ 
    $uploaddir = '/uploads/'; 
    $file = basename($_FILES['file']['name']); 
    $uploadfile = $uploaddir . $file; 

    if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { 
     sendResponse(200, 'Upload Successful'); 
     return true; 
    } 
    sendResponse(403, 'Upload Failed'); 
     return false; 

} 

जब मैंने इसे

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { 

में विफल रहता है अपलोड करने की कोशिश और रिटर्न 403/गलत:

-(IBAction)uploadButtonClicked:(id)sender 
{ 

NSData *imageToUpload = UIImageJPEGRepresentation(mainImageView.image, 90); 
AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://www.THESERVER.com"]]; 

NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"/PROJECT/upload.php" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
    [formData appendPartWithFileData: imageToUpload name:@"file" fileName:@"temp.jpeg" mimeType:@"image/jpeg"]; 
}]; 

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSString *response = [operation responseString]; 
    NSLog(@"response: [%@]",response); 
    [MBProgressHUD hideHUDForView:self.view animated:YES]; 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    [MBProgressHUD hideHUDForView:self.view animated:YES]; 
    if([operation.response statusCode] == 403){ 
     NSLog(@"Upload Failed"); 
     return; 
    } 
    NSLog(@"error: %@", [operation error]); 

}]; 

[operation start]; 
} 

यह मेरा upload.php है: यहाँ मेरी Obj सी कोड है स्टेटस कोड जिसे मैंने

+0

सबसे अधिक संभावना अनुमतियों की समस्या की जरूरत है। 'Error_reporting (E_ALL)' –

+0

सक्षम करें क्योंकि मैं इसे आईओएस डिवाइस के माध्यम से कर रहा हूं, मैं त्रुटि संदेशों को कैसे वापस भेज सकता हूं? मेरे पास एक फ़ंक्शन sendResponse ('400', "$ त्रुटियां") है जिसका उपयोग मैं कर सकता हूं लेकिन मैं $ त्रुटियों को क्या सेट करूं? – mkral

+0

@mkral: मुझे पता है कि यह थोडा पुराना है, लेकिन मैंने आपके कोड के अपलोड हिस्से के एक संशोधित संस्करण को लागू करने का प्रयास किया और यह मेरे लिए काम नहीं किया क्या यह अंत में आपके लिए काम करता है? ps आईओएस/उद्देश्य सी –

उत्तर

3

यह एक मूर्ख गलती थी ...

php में मैं

$uploaddir = 'uploads/'; 

बजाय

$uploaddir = '/uploads/'; 
+0

हे मैन के लिए त्रुटि मिल रही है, मैंने आपका कोड इस्तेमाल किया लेकिन मुझे "प्रतिक्रिया: [(शून्य)]" मिला, क्या आप इसके साथ मेरी मदद कर सकते हैं? thanx – AliBZ

+0

कि सबसे अधिक संभावना है कि आपको अपनी वेब-सेवा पर कोई त्रुटि हो रही है या यह किसी भी JSON – mkral

+0

पर वापस नहीं लौट रहा है क्या मुझे अपने कोड का अपलोड हिस्सा भेजना संभव है? मैं पिछले दो दिनों से एक कामकाजी उदाहरण की तलाश में हूं। Thanx – AliBZ

संबंधित मुद्दे