0
iOS 앱에서 내 서버로 이미지를 업로드하려고하는데 PHP 스크립트의 "Unsuccessful"이 속임수를 쓰고 있습니다. 내가 도대체 뭘 잘못하고있는 겁니까?AFNetworking 업로드 이미지
Log
은 "File = Unsuccessful
"을 반환 한 다음 이진 파일 번호를 반환합니다.
아이폰 OS (이미지 업로드) :
-(IBAction)uploadPhoto:(id)sender{
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://SERVERURL"]];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSData *imageData = UIImageJPEGRepresentation(pickedImage, 0.5);
NSDictionary *parameters = @{@"message": self.descriptionView.text};
AFHTTPRequestOperation *op = [manager POST:@"rest.of.url" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
//do not put image inside parameters dictionary as I did, but append it!
[formData appendPartWithFileData:imageData name:@"file" fileName:@"upload.jpg" mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@ ***** %@", operation.responseString, error);
}];
[op start];
[self dismissViewControllerAnimated:YES completion:nil];
}
}
PHP 코드 : 디렉토리의 끝에
<?
if(!empty($_POST))
{
$message = $_POST['message'];
$directory = $_SERVER['DOCUMENT_ROOT'] . '/pictures';
$file = basename($_FILES['userfile']['upload.jpg']);
$uploadfile = $directory . $file;
var_dump($_FILES);
$randomPhotoID = md5(rand() * time());
echo 'file='.$file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo 'successful';
}
else
{
echo 'unsuccessful';
}
}
else
{
echo('Empty post data');
}
?>
이렇게하면 내부 서버 오류 (500)가 발생합니다. hmm – user3423384
당신은 디렉토리 경로를 하드 코드 해 주시겠습니까 – meda
하드 코딩을했는데 디렉토리 경로에 약간의 오류가 발견되었습니다. 현재 정확한지는 모르지만 문제는 해결되지 않습니다. 서버는 우분투 서버입니다. 문제가 될지 모른다. – user3423384