如何在HTML5中恢复损坏的上传

guy*_*guy 23 javascript html5 resume file-upload local-storage

我正在尝试将简历功能添加到html5文件上传器.

我需要能够在浏览器关闭(并重新打开)后恢复,并且我丢失了文件对象,我不希望用户再次拖动/打开文件.

到目前为止,我使用java applet来做,但我希望找到一个针对这个问题的html5解决方案.

我想过将文件保存在本地存储中,但它们太大了.

有没有办法只保存文件对象的路径或任何其他可能帮助我重新打开文件而不要求用户重新打开文件的信息?

Hir*_*esh 5

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

可恢复.js是一个JavaScript库,通过HTML5 File API提供多个同步,稳定和可恢复的上传.

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

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


jap*_*ott 3

抱歉,这是不可能的。您可以使用 javascript 访问的文件和浏览器之间的链接(FileURL)会在关闭窗口后(当然,在关闭浏览器时)被破坏。您可以保存文件的名称和上传的数量/部分,并请求用户再次上传该文件,从上次中断的地方继续,但未经用户同意不会自动上传。

/编辑:为什么投反对票?请留下评论,让我知道我说错了什么!问题是当用户关闭浏览器时如何恢复上传。那是不可能的。当浏览器保持打开且连接丢失时可以停止/恢复上传,但当用户关闭浏览器时则不能停止/恢复上传(引用丢失)。但是,您可以将文件复制到临时文件系统,然后从那里恢复上传,但这需要用户同意,并且仅限于用户提供给您使用的空间量。