1

ASIHTTPRequest ソース コードを使用して、リモートの場所からファイルをダウンロードしています。驚いたことに、ダウンロードは行われますが、その後は何も起こりません。handleBytesAvailableメソッドにログ ステートメントを挿入したところ、ファイル全体の価値のあるデータが部分的にダウンロードされ、fileDownloadOutputStream変数に追加されていることがわかります。

しかし、すべてのバイトがダウンロードされると、何も起こりません。デリゲート メソッドは呼び出されません (失敗も成功もありません)。

誰かが何が起こっているのか教えてもらえますか? または、ASIHTTPRequest を使用してリモート サーバーからファイルをダウンロードする正しい方法は何ですか?

ありがとう。

もう少し詳細

さらにログ ステートメントを入力すると、すべてのバイトがダウンロードされた後に、リクエスト クラスがタイムアウト応答を受け取るように見えます。その後、デリゲート メソッドは呼び出されません。ファイルのすべてのバイトが既にダウンロードされていることがログからわかるため、タイムアウトが発生する理由がわかりません。これは役に立ちますか?

4

2 に答える 2

1

リクエストでダウンロード場所を設定できます。

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/ben/Desktop/my_file.txt"]];
于 2010-05-25T05:05:27.757 に答える
1

ASIHTTPRequest オブジェクトにデリゲートを設定しましたか?

于 2010-05-25T19:57:06.007 に答える