我正在尝试将简历功能添加到 html5 文件上传器。
在浏览器关闭(并重新打开)并且我丢失了文件对象后,我需要能够恢复,我不希望用户再次拖动/打开文件。
直到现在我使用 java applet 来做这件事,但我希望找到一个 html5 解决这个问题的方法。
我考虑将文件保存在本地存储中,但它们太大了。
有没有办法只保存文件对象的路径或任何其他可能帮助我重新打开文件而不要求用户重新打开文件的信息?
我正在尝试将简历功能添加到 html5 文件上传器。
在浏览器关闭(并重新打开)并且我丢失了文件对象后,我需要能够恢复,我不希望用户再次拖动/打开文件。
直到现在我使用 java applet 来做这件事,但我希望找到一个 html5 解决这个问题的方法。
我考虑将文件保存在本地存储中,但它们太大了。
有没有办法只保存文件对象的路径或任何其他可能帮助我重新打开文件而不要求用户重新打开文件的信息?
您可能想尝试Resumable.js - JavaScript 库,通过 HTML5 文件 API(或其域www.resumablejs.com)提供多个同时、稳定和可恢复的上传。
可恢复。Node.js 一个 JavaScript 库,通过 HTML5 File API 提供多个同时、稳定和可恢复的上传。
该库旨在通过 HTTP 将容错引入到大文件的上传中。这是通过将每个文件分成小块来完成的;每当块上传失败时,都会重试上传,直到过程完成。这允许上传在本地或服务器丢失网络连接后自动恢复上传。此外,它允许用户在不丢失状态的情况下暂停和恢复上传。
Resumable.js 依赖于 HTML5 File API 和将文件分块成小块的能力。目前,这意味着支持仅限于 Firefox 4+ 和 Chrome 11+。
抱歉,这是不可能的。文件和浏览器之间的链接,您可以使用 javascript (FileURL) 访问,在关闭窗口后(当然,在关闭浏览器时)会被破坏。您可以保存文件的名称和上传的数量/部分,并请求用户再次上传该文件,从他离开的地方继续,但不是自动,未经用户同意。
/编辑:为什么反对票?请发表评论,以便我知道我说错了什么!问题是关于当用户关闭浏览器时如何恢复上传。这是不可能的。可以在浏览器保持打开且连接丢失时停止/恢复上传,但在用户关闭浏览器时不能(参考丢失)。但是,您可以将文件复制到临时文件系统,然后从那里恢复上传,但这需要用户同意,并且仅限于用户提供给您使用的空间量。
较新的浏览器(Chrome、Firefox)可以做到这一点。
youtube 上传器就是一个很好的例子。 http://support.google.com/youtube/bin/static.py?hl=en&topic=1719827&guide=1719823&page=guide.cs&answer=1672758
http://www.youtube.com/watch?v=L5ebSn9HgJ4
我不完全确定他们的实现是如何完全工作的,但这是可能的。