我有一个大的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随后将返回所有成功提交的切片的聚合。