Ich habe mir ein paar Beispiele angesehen, aber ich denke, dass mein Problem in PHP sein kann. Ich versuche, ein Bild von einem iPhone auf einen Server mit AFNetworking hochzuladen. Hier ist mein obj-c-Code:AFNetworking Hochladen Bild
-(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];
}
Das ist mein upload.php ist:
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;
}
Wenn ich versuche, es zu laden versagt bei
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
und gibt die 403/false Statuscode, den ich gesetzt habe
wahrscheinlich ein Berechtigungsproblem. Aktivieren Sie 'error_reporting (E_ALL)' –
seit ich dies über iOS-Gerät mache, wie kann ich die Fehlermeldungen zurückgeben? Ich habe eine Funktion sendResponse ('400', "$ errors"), die ich benutzen kann, aber wofür setze ich $ errors? – mkral
@mkral: Ich weiß, das ist ein bisschen alt, aber ich habe versucht, eine modifizierte Version des Uploads Teil von ur-Code und es funktioniert nicht für mich hat es funktioniert für Sie am Ende? ps im versuchen, ios/objective C –