我正在使用clj-http进行多部分文件上传。我想知道是否有一种方法可以跟踪文件上传的进度。也许,一些函数会定期调用,到目前为止已经上传了多少文件?
问问题
247 次
1 回答
2
clj-http 在下面使用 Apache HTTP 客户端,因此您可以重用另一个问题的答案中提供的解决方案。然而,这并不容易。
链接答案中提供的代码提供了增强的HttpEntity
. clj-http 目前不支持提供您自己的实例HttpEntity
作为您的请求正文。
你有两个选择:
向 clj-http 提供一个拉取请求,以便它支持提供一个
HttpEntity
作为:body
值的实例(例如,通过添加另一个cond
分支检查HttpEntity
值或通过创建wrap-input-coercion
一个多方法以便您可以扩展它HttpEntity
)。提供与上述类似的逻辑,
FileEntity
但OutputStreamProgress
在您的org.apache.http.entity.mime.content.ContentBody
. clj-http 支持将它们作为多部分附件的值提供。这里的缺点是它会跟踪每个附件的进度,而不是整个请求。
于 2016-03-11T20:56:58.070 回答