cinatra icon indicating copy to clipboard operation
cinatra copied to clipboard

调用http_client.download,下载的文件如无chunk会有问题

Open iamaccount opened this issue 4 years ago • 2 comments

1:直接下载到文件,文件大小为0 2:chunk回调给用户,文件下载完后,还会连续读取数据直到超时,然后会回调一个错误 有chunk情况下没测试

iamaccount avatar Jan 10 '22 12:01 iamaccount

chunk格式应该没问题,你说的这个问题我晚点确认一下。

qicosmos avatar Jan 11 '22 02:01 qicosmos

  1. chunk格式没有问题
  2. 非chunk格式,数据全部在内存中response.body,数据量大时有问题,body应该考虑分片读取

CBHXuTT avatar Sep 14 '22 06:09 CBHXuTT

  1. chunk格式没有问题
  2. 非chunk格式,数据全部在内存中response.body,数据量大时有问题,body应该考虑分片读取

我也遇到这个问题,下载大文件,std::bad_alloc异常崩溃

famik avatar Feb 11 '23 10:02 famik

大文件应该用chunked下载呀

qicosmos avatar Feb 12 '23 02:02 qicosmos

大文件应该用chunked下载呀

这是由服务端决定的吧,需要考虑兼容第三方的下载链接,服务端不一定是我们自己开发的 而且用chunked的话,对下载工具来说是文件大小未知的,不知道下载进度,对用户不太友好

以上是我对chunked的理解,不知是否正确

famik avatar Feb 20 '23 03:02 famik

这里可以完善一下,到时候自动识别一下好了,看看服务端需要用哪种协议下载,这个功能这周应该可以搞完。

qicosmos avatar Feb 20 '23 07:02 qicosmos

另外,建议大家使用coro_http_client,这个是协程版的http client,后续主要维护这个新的client了,这次在coro_http_client里把之前的一些问题一并处理掉。

qicosmos avatar Feb 20 '23 07:02 qicosmos

请使用coro_http_client下载

qicosmos avatar Jan 14 '24 12:01 qicosmos