我正在努力寻找解决方案或库,其中包含描述如何将多部分图像提交到服务器的良好文档。我看了一下loopJ,我认为这是非常有前途的,但我仍然不确定最好的解决方案是什么。如果有人能给我建议/策略或代码示例,我已经在我的iOS中使用了(AFNetworking
),那就太好了,如下所示:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"userID": @"1234567890"};
// add parameters first (user id) and then multipart image
[manager POST:MAIN_URL parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
// add multipart image
[formData appendPartWithFileData:imageData name:@"uploadFile" fileName:@"uploadFile" mimeType:@"image/jpg"];
} success:^(AFHTTPRequestOperation *operation,
id responseObject) {
NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
NSLog(@"Error: %@", error);
}];
其中imageData
是需要上传的图像。
我使用了Apache的Multipart Entity Builder。 然后只需将您的图像转换为字节数组或输入流即可。
http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntityBuilder.html
很容易用于Android网络,包括多部分(就像IOS的AFNetworking一样)。我唯一仍在苦苦挣扎的事情,如何在上传时更新视图(进度条)。我还需要同步上传一堆文件(一次一个),这似乎也不像我想象的那么容易(至少我还没有找到解决方案)。如果有人对异步使用 loopj 有任何提示 - 将不胜感激。