AFNetworking 2.0 spring MVC 上传文件
Posted
技术标签:
【中文标题】AFNetworking 2.0 spring MVC 上传文件【英文标题】:AFNetworking 2.0 spring MVC upload file 【发布时间】:2014-07-15 09:20:07 【问题描述】:我在将文件上传到 Spring MVC 服务时遇到问题。 这是服务的 Spring MVC @RequestBody
@ResponseBody String handleFileUpload(@PathVariable Integer something, @RequestParam String something, @RequestParam String something, @RequestParam("file") MultipartFile file)
当我尝试使用 AFNetworking 2.0 上传文件时
[manager POST:requestUrl parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
NSData *imageData = UIImageJPEGRepresentation(image, 1.0f);
[formData appendPartWithFileData:imageData name:@"file" fileName:@"file.jpg" mimeType:@"image/jpg"];
它根本不识别文件参数,只是返回无效参数错误。我无法调试服务方法.. 有什么想法吗?
【问题讨论】:
【参考方案1】:我也有类似的问题,只是没有传递参数(因为我们的API只有@PathVariable,没有@RequestParam):
NSString *urlString = @"your url";
NSData *fileData; // NSData of your image
NSString *fileName = @"fileName";
[manager POST:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
[formData appendPartWithFileData:fileData name:@"file" fileName:fileName mimeType:@"image/png"];
success:^(AFHTTPRequestOperation *operation, id responseObject)
[delegate apiCall:API_FILE_UPLOAD finishedWithObject:responseObject];
failure:^(AFHTTPRequestOperation *operation, NSError *error)
[delegate apiCall:API_FILE_UPLOAD failedWithObject:error];
];
我实际上使用了您的示例,并为参数传递了 nil :)
【讨论】:
以上是关于AFNetworking 2.0 spring MVC 上传文件的主要内容,如果未能解决你的问题,请参考以下文章
从 AFNetworking 1.3 迁移到 AFNetworking 2.0 的问题