我想发送最大值。向我的服务器发出的单个请求中包含 100 张图像。简单的图片上传对我来说很好。
但我想用 AFNetworking 2.0 api 创建一个数据流。所以,我想问我如何用我的图像数据创建一个新的网络流。
此外,此流还应该在应用程序的后台模式下工作,并且图像应该在应用程序的后台模式下上传到服务器上。如何使用 AFNetworking 2.0 库来实现这一点?
任何建议都会有所帮助。
最佳答案
我认为这不是一个好主意,但我会回答你的问题,让你自己决定。
AFAIK 只有两种方法可以通过单个请求发送 100 张图像:
第一种方法很明显:) 让我们谈谈第二种方法。
使用 AFNetworking 创建多部分请求:
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer]
multipartFormRequestWithMethod:@"POST"
URLString:[url absoluteString]
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
{
for (NSURL *imageUrl in imageURLsArray)
[formData appendPartWithFileURL:imageUrl name:[imageUrl lastPathComponent] error:nil];
}
error:nil];
将请求正文保存到文件,因为后台上传仅支持文件,不支持内存中的流或数据:
NSURL *fileURL = create url for a temporary file
[[AFHTTPRequestSerializer serializer]
requestWithMultipartFormRequest:request
writingStreamContentsToFile:fileURL
completionHandler:(void (^)(NSError *error))
{
NSMutableURLRequest *newRequest = [request mutableCopy];
newRequest.HTTPBodyStream = nil;
// Here you can start background uploading of file fileURL using newRequest request
}];
如何在后台上传文件,例如 AFNetworking 2.0 and background transfers或这里 http://www.objc.io/issue-5/multitasking.html
关于ios - 使用 AFNetworking 2.0 从 iOS 应用程序以流的形式上传 100 张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29604438/