我收到 NSURLErrorDomain Code=-1021“请求正文流已耗尽”
NSLocalizedDescription=请求正文流耗尽,NSUnderlyingError=0x2088c080“请求正文流耗尽”}
上传多张大尺寸图片时会出现此错误
我正在使用 AFNetworking 并尝试在线搜索修复程序,但没有成功
NSDictionary *clientUniqueId = [NSDictionary dictionaryWithObject:NSLocalizedString(uniqueDrId, nil) forKey:@"clientUniqueId"];
NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST"
path:pendingUpload.urlPath
parameters:clientUniqueId
constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
{
[formData appendPartWithFormData:[pendingUpload dataRecordData] name:@"dr"];
NSArray *attachments = pendingUpload.attachments;
if (attachments != nil) {
for (Attachment *attachment in attachments) {
[formData appendPartWithFileData:attachment.data
name:attachment.key
fileName:attachment.filename
mimeType:attachment.contentType];
}
}
}];
如中所述AF网络常见问题解答 https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ:
为什么某些上传请求失败并出现错误“请求正文流已耗尽”?这是什么意思?我该如何解决这个问题?
通过 3G 或 EDGE 连接上传时,请求可能会失败并显示“请求正文流已耗尽”。使用-throttleBandwidthWithPacketSize:delay:
您的多部分表单构造块,您可以根据推荐值设置最大数据包大小和延迟(kAFUploadStream3GSuggestedPacketSize
and kAFUploadStream3GSuggestedDelay
)。这降低了输入流超出其分配带宽的风险。不幸的是,从 iOS 6 开始,没有明确的方法来区分 3G、EDGE 或 LTE 连接。因此,不建议您仅根据网络可达性来限制带宽。相反,您应该考虑检查故障块中的“请求主体流已耗尽”,然后使用限制的带宽重试该请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)