我们有一个 iOS 应用程序,它使用多部分帖子将图像上传到服务器。使用 wifi 时一切正常,但在 3G 上拍摄大图像时,我们遇到了网络错误。
在客户端(iPhone)上:
我有一个
Domain=NSURLErrorDomain Code=-1021 “请求体流耗尽”</p>
基于这篇文章,我尝试使用该方法使用 AFNetwork 库,但仍然得到相同的确切结果。
在服务器上:
我已经设置了一个代理来查看请求,我得到了
《承插断管》
通常在传输 740Kb 之后
那么,我做错了什么?就像我说的那样,在 wifi 上一切正常,在 3G 上用小图像也很好。
AFNetwork 版本代码(大图像在 600 - 800 kb 后停止传输):
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:self.baseURL];
request = [client multipartFormRequestWithMethod:@"POST"
path:nil
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
{
for (NSString* partType in self.parts) {
if ([partType isEqualToString:@"jsonpart"]) {
[formData appendPartWithFormData:[self.parts objectForKey:partType] name:@"@json"];
}
else{ //is an image for sure
[formData appendPartWithFileData:[self.parts objectForKey:partType]
name:partType
fileName:[NSString stringWithFormat:@"%@-%d.jpg", partType, [partType hash]]
mimeType:@"image/jpeg"];
}
}
[formData throttleBandwidthWithPacketSize:kAFUploadStream3GSuggestedPacketSize delay:kAFUploadStream3GSuggestedDelay];
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[client enqueueHTTPRequestOperation:operation];