在我的应用程序中,如果以JPG格式从服务器下载图像。我正在使用NSURLConnection同步下载图像。但有时一半的图像无法下载。它甚至不会抛出错误信息。
如何修复此错误。任何指南都会有所帮助。
我将图像更改为服务器上的base64并转换为设备上的图像,然后此问题就消失了。
答案 0 :(得分:2)
许多人错误地使用NSURLConnection
,并且不检查早期服务器断开连接。
如果服务器在向您发送Content-Length
中指定的字节数之前断开连接,则不会产生错误,并且您的下载不完整。由于这个问题,我看到了你描述的同样问题。
在connection:didReceiveResponse:
中,您需要记住[response expectedContentLength]
的值,而在connectionDidFinishLoading:
中,您需要检查是否收到了这么多字节。如果没有,您可以生成自己的错误并导致下载失败。您还需要处理内容长度未知的情况(expectedContentLength
将返回NSURLResponseUnknownLength
)。