限制文件上传对话框中的文件类型

4
我正在使用HTML5构建一个应用程序,我需要一个文件上传器,它能够过滤各种文件。
比如说,我有一个包含1000个文件的文件夹,其中5个文件的格式为.xls。一旦在上传窗口选择了该文件类型,在MIME类型选择器中,我希望上传窗口可以过滤这些文件。
我知道HTML5有一种方法可以通过<input type=file accept=jpg/images>实现,但由于它缺乏支持(IE和Safari都没有),所以这不是一个选择。
我在网上找到了一个jQuery文件上传器,但据我所见,它只能在你点击上传按钮后检查文件类型,这并不能帮助筛选可用文件。
有没有使用Flash或HTML5技术来解决这个问题的方法?

accept 不是真正的 HTML5,而是 HTML 4.01:http://www.w3.org/TR/html401/interact/forms#h-17.4 - feeela
感谢您的有用回复。顺便说一句,我在哪里提到过accept源自html5? - user1622621
在你的问题中,显然是指:“HTML5有一种方法可以使用<input type=file accept=jpg/images>来实现这一点”。 - feeela
1个回答

7
如果你想使用accept属性,你应该设置正确的mime类型:accept="image/jpg,image/jpeg,image/png,image/gif,image/bmp,image/tiff"。这是针对图片的。但它在IE中不起作用,而且在FF中可能会出现一些问题(有人说它只支持部分mime类型)。
对于类似的任务,我正在使用SWFUpload。你可以在那里指定允许的文件列表,并且它将仅在打开文件对话框中显示这些文件。在这里你可以看到它的演示 更新:如@Nis所述,演示现在已包含在源包中:

我们提供了几个简单的演示,以展示SWFUpload的工作原理。这些演示不是项目模板,而是实现SWFUpload的基本功能和方法的演示。它们包含在源包中。


我很害怕那是我的解决方案,但没关系。谢谢回复。 - user1622621

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