2013-11-01 33 views
6

Androidアプリは、複数のHTTPリクエストを送信するAPIを使用します。私は正常にそのような応答を得ています:HttpResponseをファイルにダウンロードする方法は?

post.setEntity(multipartEntity.build()); 
HttpResponse response = client.execute(post); 

応答は電子ブックファイル(通常はepubまたはmobi)の内容です。私はこれを指定されたパスを持つファイルに書きたいと思います。 "/sdcard/test.epub"と言うことができます。

ファイルは最大20MBなので、何らかの種類のストリームを使用する必要がありますが、私はその周りを頭で囲むことはできません。ありがとう!

答えて

12

だけでなく、それは簡単な作業です、あなたはWRITE_EXTERNAL_STORAGE使用許可を必要とする...その後、単にInputStream

InputStream is = response.getEntity().getContent(); 

がたFileOutputStream

FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory(), "test.epub"))を作成取り出します。

とあるから読み込まれ、FOS

int read = 0; 
byte[] buffer = new byte[32768]; 
while((read = is.read(buffer)) > 0) { 
    fos.write(buffer, 0, read); 
} 

fos.close(); 
is.close(); 

編集と書き込みには、tyoo

+0

パーフェクトをチェック。 response.getEntity()。getContent()が入力ストリームを与えるという事実は、パズルの欠けている部分でした。ありがとう。 – user1023127

+0

あなたは大歓迎です\ – Blackbelt

関連する問題