我正在使用 AFNetworking2 从我的 AWS S3 存储桶下载文件
一切工作正常,除了当我为文件设置 Content-Encoding: gzip 时。
AFNetworking 无法下载从服务器返回的部分内容响应
它给了我以下错误:
错误域=NSURLErrorDomain代码=-1015“无法解码原始数据”
UserInfo=0x10d2d8ce0 {NSUnderlyingError=0x10d1ace80“无法解码原始数据
数据”,
NSErrorFailingURLStringKey=http://s3.amazonaws.com/awdtest/fullzip.pdf http://s3.amazonaws.com/awdtest/fullzip.pdf,
NSErrorFailingURLKey=http://s3.amazonaws.com/awdtest/fullzip.pdf http://s3.amazonaws.com/awdtest/fullzip.pdf,
NSLocalizedDescription=无法解码原始数据}
但是,当我从文件中删除“Content-Encoding:gzip”元数据时,它工作正常。
我知道我的服务器支持范围请求,并且我已经使用其他方法对其进行了测试,并且工作正常。
这是我的服务器的 HTTP 响应:
HTTP/1.1 200 好
x-amz-id-2:
k5b65TtAgrD5Cn3N2aixCCdi6qAmg4j9iuOSNaO0uMRKLHPTQ+DMAA20u9j1CNzA
x-amz-请求-id:7AE5A7DD81ED2B88
日期:2014 年 5 月 16 日星期五 04:45:17 GMT
内容编码:gzip
最后修改时间:2014 年 5 月 16 日星期五 04:44:51 GMT
ETag:“88bbe0b318bf11dd56a31176d3384e78”
接受范围:字节
内容类型:应用程序/pdf
内容长度:1243325
服务器:亚马逊S3
以下是我正在使用的示例文件:
https://s3.amazonaws.com/awdtest/full.pdf https://s3.amazonaws.com/awdtest/full.pdf
https://s3.amazonaws.com/awdtest/fullzip.pdf https://s3.amazonaws.com/awdtest/fullzip.pdf(gzip 压缩并将内容编码设置为 gip)
如果有人能帮助我解决这个问题,我将不胜感激。
PS:我已经尝试了以下方法,但仍然不起作用
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[request setValue:@"deflate" forHTTPHeaderField:@"Accept-Encoding"];
[request setValue:@"gzip, deflate" forHTTPHeaderField:@"Accept-Encoding"];
使用 Wireshark 查看接收到的 http 正文。
这可能是您使用的responseSerializer无法解析原始数据。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)