【发布时间】:2015-10-08 10:06:04
【问题描述】:
我正在开发一个用户需要注册的应用。有一个图像上传选项,用户可以从 iPhone 的照片库中选择图像。我使用 AFNetworking 进行上传。但是分段上传有错误,这个问题附有错误日志。如果有人知道解决方案,请帮助我
提前致谢。
iOS 部分
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissViewControllerAnimated:YES completion:nil];
UIImage * image = info [UIImagePickerControllerOriginalImage];
NSString *fileName = [NSString stringWithFormat:@"%ld%c%c.jpg", (long)[[NSDate date] timeIntervalSince1970], arc4random_uniform(26) + 'a', arc4random_uniform(26) + 'a'];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSData *data = UIImageJPEGRepresentation(image, 0.5);
// NSLog(@"DATA %@",data);
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSString *key1 = @"123";
NSString *key2 = @"asdf";
[manager POST:@"http://192.168.0.100/fileupload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:data
name:@"uploadedfile"
fileName:fileName mimeType:@"image/png"];
[formData appendPartWithFormData:[key1 dataUsingEncoding:NSUTF8StringEncoding]
name:@"email"];
[formData appendPartWithFormData:[key2 dataUsingEncoding:NSUTF8StringEncoding]
name:@"website"];
// etc.
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSError *error = nil;
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];
if (error) {
NSLog(@"Error serializing %@", error);
}
NSLog(@"Dictionary %@", JSON); } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
php部分
<?php
$uploaddir = 'uploads/';
$file = basename($_FILES['uploadedfile']['name']);
$uploadfile = $uploaddir . $file;
echo "file=".$file; //is empty, but shouldn't
if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $uploadfile)) {
echo $file;
}
else {
echo "error";
}
?>
错误
imageupload[23252:237255] Error serializing Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Something looked like a 'false' but wasn't around character 0.) UserInfo=0x7fee21fe1590 {NSDebugDescription=Something looked like a 'false' but wasn't around character 0.}
【问题讨论】:
标签: php ios objective-c iphone afnetworking