如何在HTML5中恢复断点上传

24

我正在尝试为html5文件上传器添加简历功能。

我需要能够在浏览器关闭(并重新打开)后恢复上传,而不需要用户再次拖动/打开文件。

到目前为止,我使用Java小程序来完成这项工作,但是我希望找到一个HTML5的解决方案来解决这个问题。

我考虑过将文件保存在本地存储中,但它们太大了。

是否有一种方法只保存文件对象、路径或其他可能帮助我重新打开文件而无需要求用户重新打开文件的信息?

3个回答

8

您可能想尝试使用Resumable.js - JavaScript库,通过HTML5文件API提供多个同时、稳定和可恢复上传(或其域名www.resumablejs.com)。

Resumable.js是一个JavaScript库,通过HTML5文件API提供多个同时、稳定和可恢复的上传功能。

该库旨在通过HTTP将容错引入大文件的上传。这是通过将每个文件分成小块来完成的;每当上传块失败时,都会重试上传,直到过程完成。这使得上传可以在本地或服务器之间的网络连接丢失后自动恢复上传。此外,它允许用户暂停和恢复上传而不会失去状态。

Resumable.js依赖于HTML5文件API和将文件分成较小部分的能力。当前,这意味着支持仅限于Firefox 4+和Chrome 11+。


3
抱歉,这是不可能的。文件和浏览器之间的链接(可以通过JavaScript访问的FileURL)在关闭窗口时被破坏(当然,在关闭浏览器时也是如此)。您可以保存文件的名称和上传的数量/部分,并请求用户再次上传该文件,从他离开的地方继续,但不能在没有用户同意的情况下自动执行。
/编辑:为什么会有负面投票?请留言告诉我我说错了什么!问题是如何在用户关闭浏览器时恢复上传。而那是不可能的。在浏览器保持打开状态且连接中断时,可以停止/恢复上传,但当用户关闭浏览器时(参考被删除),就无法实现。但是,您可以将文件复制到临时文件系统中,然后从那里恢复上传,但这需要用户同意,并且受到用户提供给您使用的空间量限制。

如果用户再次选择相同的文件,则可以“恢复”上传,但您是正确的,您无法访问用户在上一个会话中选择的文件(即,您无法仅通过路径访问文件,用户必须通过<input type="file" />或拖放来选择文件)。 - cwa

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接