我试图计算一个多形式上传的有效载荷内容-MD5标头:Calc的内容-MD5在AFNetworking
NSURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"/upload"
parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.png"
mimeType:@"image/png"];
}];
我试着读HTTPBodyStream
:
if ([request HTTPBodyStream]) {
NSInteger result;
uint8_t buffer[1024];
while((result = [[request HTTPBodyStream] read:buffer maxLength:1024]) != 0)
{
if(result > 0) {
[data appendString:[NSString stringWithUTF8String:(char *)buffer]];
} else {...}
}
但我最终陷入无限循环。有没有办法做到这一点?
UPDATE
[[request HTTPBodyStream] streamError]
在while
循环结束返回null
如果我打破while循环,如果result < 0
,但是流将是不完整的。
我假设你'其他{...}'从循环中打破? –
是的,可能。但是从文档中可以看到,“负数表示操作失败”。如果因为我没有阅读网络而失败? –
我不确定'NSURLConnection'是否允许从'file://'url(我假设你是这个意思)读取数据。如果你得到0或者<0,你需要从循环中断开。 –