-1

私のアプリケーションでは、サーバーから画像を JPG 形式でダウンロードしている場合。NSURLConnection Synchronously を使用して画像をダウンロードしています。ただし、イメージの半分がダウンロードされない場合があります。エラーメッセージもスローしません。

このバグを修正するにはどうすればよいですか。どのガイドも役に立ちます。


サーバーで画像をbase64に変更し、デバイスで画像に変換すると、この問題はなくなります。

4

1 に答える 1

2

多くの人はNSURLConnection間違った使い方をしており、サーバーの早期切断をチェックしていません。

で指定したバイト数を送信する前にサーバーが切断された場合Content-Length、エラーは発生せず、ダウンロードは不完全になります。この問題のために、あなたが説明したのと同じ問題を見てきました。

inconnection:didReceiveResponse:の値を記憶する必要があり[response expectedContentLength]、 in でconnectionDidFinishLoading:このバイト数を受信したことを確認する必要があります。そうでない場合は、独自のエラーを生成して、ダウンロードが失敗する可能性があります。コンテンツの長さが不明な場合 (expectedContentLengthが返されるNSURLResponseUnknownLength) にも対処する必要があります。

于 2012-06-12T09:23:09.227 に答える