如何在JAX-RS中使用PUT请求更新具有大附件的资源



我有一个大的byte文件(日志文件),我想使用PUT请求将其上传到服务器。我选择PUT的原因很简单,因为我可以使用它来创建新资源或更新现有资源。

我的问题是如何处理PUT请求期间服务器或网络中断的情况。也就是说,我有一个巨大的文件,在传输过程中,会发生网络故障。当网络恢复时,我不想开始整个上传。我该如何处理?我正在使用JAX-RS API和RESTeasy实现。

有些人使用Content-Range Header来实现这一点,但许多人(如Mark Nottingham)表示,这对请求来说是不合法的。请阅读对这个答案的评论。

此外,JAX-RS也不支持这种场景。

如果你真的有PUT请求中断的重复问题,我会简单地让客户端对文件进行切片:

PUT /logs/{id}/1
PUT /logs/{id}/2
PUT /logs/{id}/3

CCD_ 8随后将返回所有成功提交的切片的聚合。

相关内容

  • 没有找到相关文章

最新更新