【发布时间】:2011-05-05 05:40:46
【问题描述】:
在网页上,是否可以在文件上传到服务器之前将大文件分割成块?例如,将一个 10MB 的文件拆分为 1MB 的块,并在显示进度条的同时一次上传一个块?
听起来 JavaScript 没有任何文件操作能力,但 Flash 和 Java 小程序呢?
这需要在 IE6+、Firefox 和 Chrome 中工作。 更新:忘记提及 (a) 我们正在使用 Grails 并且 (b) 这需要在 https 上运行。
【问题讨论】:
-
这可能在 Flash 和 Java 中都是可能的,但为什么呢?这有什么意义?你想绕过大小限制吗?
-
这是另一个类似的问题:stackoverflow.com/questions/3155587/…
-
我主要是探索这个选项以避免不得不在服务器端处理大文件。上传文件的内容需要解析并存储在数据库中。对于大量数据,我们需要在前端有一个专用的长寿命线程池来传输所有数据,可能首先通过 RPC 传输到后端服务,然后是数据库本身。然后会出现处理文件清理、重试、前端服务器崩溃、内存管理等问题。所有这些都是可行的,但如果可以在客户端完成,我可以更快地推出解决方案。
-
试试这个:stackoverflow.com/a/12056417/551744。我用 JavaScript 实现了拆分文件并在服务器端合并它们。这也有帮助:html5rocks.com/ru/tutorials/file/dndfiles
标签: javascript flash file-upload applet