拖放文件上传可以在Firefox 3.6中完成。在Google Chrome/Chromium和Safari中拖放文件上传?
A Google search for html5 drag-and-drop file uploading -gmail给出了诸如:
- Native Drag + Drop file upload in Firefox 3.6
- http://www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload
- http://www.thecssninja.com/javascript/drag-and-drop-upload
所有这些指南的使用FileReader
(或火狐3.6的过时getAsBinary
,这是任何其他浏览器支持,或者)。
但是,Google最近发布了Gmail的更新,允许在Chromium和Firefox上拖放文件上传,以及Chromium does not have FileReader
。我每晚都使用最新的Chromium,它可以拖放上传文件,但不支持FileReader
。
我见过有人提到可以通过拖拽到<input type="file" />
上拖放上传,但一次只能支持一个文件,而Gmail的上传者可以处理多个文件被拖拽到上面,所以很明显不是他们在做什么。
所以问题是,他们是如何做到的?您如何支持Chromium for HTML5文件上传?另外,你能否支持Safari?
附:阅读源代码非常困难,因为Gmail的源代码由于其所做的所有优化而相当混乱。 – Zarel 2010-04-17 07:47:14
P.P.S. HTML''的'FileList'是只读的,所以你不能将一个拖放文件移植到其中一个文件中。 – Zarel 2010-04-17 20:51:00
是否可以更改此帖子的标题?我刚刚在“Chrome”中发布了一个关于“拖放”的重复问题,但它与此问题不匹配,因为标题使用Chromium(大多数人不使用)。 – 2010-05-25 15:12:19