将 BufferedHttpEntity 保存到文件



如何以流式方式将实体保存到SDCard(以避免内存问题)。

我找不到关于此事的任何可靠文件。

        response = httpClient.execute(request);
        BufferedHttpEntity responseEntity = new BufferedHttpEntity(response.getEntity());
        FileOutputStream fos = new FileOutputStream(Files.SDCARD + savePath);
        responseEntity.writeTo(fos);
        fos.flush();
        fos.close();

这给了我文件,但没有内容。(大小为 2KB)。所以它写得不正确。

服务器正在发送FileStream。我已经确认工作。

我会尝试这种方法:

HttpResponse response = httpClient.execute(post);    
InputStream input = response.getEntity().getContent();
OutputStream output = new FileOutputStream("path/to/file");
int read = 0;
byte[] bytes = new byte[1024];
while ((read = input.read(bytes)) != -1) {
    output.write(bytes, 0, read);
}
output.close();

希望对您有所帮助。干杯。

相关内容

  • 没有找到相关文章

最新更新