【发布时间】:2014-02-25 13:25:37
【问题描述】:
我正在使用 AFNetworking 2.0 上传单个图像正在存储从 UIImgePhotoLibrary 中选择的图像并将其转换为 NSData 我可以看到 NSData 在我尝试上传它时保存了一些数据返回没有图像到达服务器并且它没有甚至花时间在一秒钟内返回错误。在过去的几天里,我对这个问题感到沮丧,我不知道究竟是在哪里记录的?
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image =[info objectForKey:UIImagePickerControllerOriginalImage];
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.requestSerializer = requestSerializer;
[requestSerializer setValue:@"image/jpg" forHTTPHeaderField:@"Content-Type"];
[requestSerializer setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[imageData length]] forHTTPHeaderField:@"CONTENT_LENGTH"];
[manager POST:@"http://xxxxx.com/appphotos/fileupload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData name:@"image" fileName:@"image/jpeg" mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@", operation.responseString);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", [error debugDescription]);
NSLog(@"Error: %@", [error localizedDescription]);
NSLog(@"response :%@",operation.responseString);
}];
[picker dismissViewControllerAnimated:YES completion:Nil];
}
如果我在任何地方犯了错误,任何人都可以帮助或请告诉我。提前谢谢
【问题讨论】:
-
使用 Charles Proxy 等网络分析器查看实际发送的内容以及服务器响应。
-
@Zaph 我分析过它显示图片内容
-
您使用了网络分析仪,您的回复并未说明您分析的方式/内容。所以服务器不喜欢 POST 的某些方面,您需要仔细阅读服务器上传文档并检查发送的内容是否完全符合这些要求。
标签: ios afnetworking nsdata image-uploading