2

你能给我一个例子(html或java)来实现分块上传文件吗?如果在请求时长度未知,我该如何上传文件?我以这种方式找到了https://developers.google.com/drive/manage-uploads#resumable但我不明白如何对服务器说流已终止。

先感谢您。前!

4

1 回答 1

2

我不能给你一个 google drive sdk 的例子,但我可以告诉你它是如何处理原始 HTTP 请求的。

首先,您必须启动一个可恢复的上传会话,之后您可以通过将前 256 KB 的Content-Range标头设置为类似这样0-262144/*的内容来进行大小未知的部分上传,或者无论您的块的大小是多少(它们必须是 256KB 的倍数根据文档)。

你发出这样的请求来上传中间块,直到你到达最终块,它应该小于那些固定的中间块。最后一个块将通过将Content-Range字段设置为 来完成文件上传<byte interval of the chunk>/<final size of file>

可以在最后一次请求之前计算文件的最终大小:请求数 * 256 KB + 最后一个块的大小。

该算法在这里得到了更好的例证:http: //pragmaticjoe.blogspot.ro/2015/10/uploading-files-with-unknown-size-using.html

于 2015-10-03T08:15:34.590 回答