私のアプリケーションでは、サーバーから画像を JPG 形式でダウンロードしている場合。NSURLConnection Synchronously を使用して画像をダウンロードしています。ただし、イメージの半分がダウンロードされない場合があります。エラーメッセージもスローしません。
このバグを修正するにはどうすればよいですか。どのガイドも役に立ちます。
サーバーで画像をbase64に変更し、デバイスで画像に変換すると、この問題はなくなります。
多くの人はNSURLConnection
間違った使い方をしており、サーバーの早期切断をチェックしていません。
で指定したバイト数を送信する前にサーバーが切断された場合Content-Length
、エラーは発生せず、ダウンロードは不完全になります。この問題のために、あなたが説明したのと同じ問題を見てきました。
inconnection:didReceiveResponse:
の値を記憶する必要があり[response expectedContentLength]
、 in でconnectionDidFinishLoading:
このバイト数を受信したことを確認する必要があります。そうでない場合は、独自のエラーを生成して、ダウンロードが失敗する可能性があります。コンテンツの長さが不明な場合 (expectedContentLength
が返されるNSURLResponseUnknownLength
) にも対処する必要があります。