2

我正在使用 unirest 从服务器执行获取操作。我的问题是,当下载一个大文件时,该操作会因内存不足异常而失败。

HttpResponse<InputStream> responseGet = Unirest.get("http://localhost:8080/BigDataTEst")
        .header("content-type", "*/*")
        .asBinary();    

有没有办法使用 unirest 来解决这个问题?

4

1 回答 1

0

您在哪个 JRE 版本上运行应用程序?

当我使用 Unirest 时,对于大文件(超过 100 mb),我遇到了同样的问题(堆空间/内存不足错误)。问题出在 Apache Http Components 库上(正是 Arrays.copyOf 方法,Apache Http Components 在后台使用)。

当我开始在 JRE 8 x64 上对其进行测试时,问题就消失了(我怀疑实现 copyOf 已更改或类似的东西)。

所以我建议尝试不同的 JRE 或者你总是可以使用 Apache Commons IO 和FileUtils.copyURLToFile

于 2016-08-26T18:04:32.240 回答