如何选择多个文件进行上传:
答案 0 :(得分:18)
这取决于浏览器。较新版本的firefox和chrome支持这一点,因为它们开始实现HTML5规范。这是语法:
<input type="file" multiple=""/>
Firefox&gt; = 3.6,Chrome&gt; = 2,Safari&gt; = 4支持多个文件输入。
对于旧版浏览器,唯一好的解决方案是flash或javascript插件。 这是jquery上传器的一个很好的资源(一些支持多个文件):http://creativefan.com/10-ajax-jquery-file-uploaders/
答案 1 :(得分:7)
在HTML5中,您可以在<input type="file">
上设置multiple
attribute。这适用于支持HTML5的浏览器。
<input type="file" name="upload" multiple="multiple" />
在HTML4中,最好的选择是Flash或Java Applet。有第三方库,如Uploadify,SWFupload,JUpload和JumpLoader。
答案 2 :(得分:3)
我肯定会在这一点上使用新的HTML5“多重”属性:
<input type="file" name="upload[]" multiple="multiple" />
唯一可行的替代方案是像swfupload这样的FLASH插件。
然而 - 使用FLASH进行上传有多个问题,主要的一个问题就是cookie bug:
FLASH插件无法正确发送Cookie。每个浏览器都有自己的cookie存储。即使你使用谷歌浏览器,FLASH总是从IE发送cookie。 - 结果是你松散了cookie和会话。有一种解决方法 - 但它要求您将会话ID作为GET或POST参数发送,这反过来会使您的网站容易受到会话固定的影响。
答案 3 :(得分:2)
您还可以使用javascript插件,例如:http://code.google.com/p/noswfupload/
答案 4 :(得分:1)
多次使用文件输入表单元素,为其指定一个不同的名称,并且在一个页面上有多个上载字段。无需学习任何其他内容。
答案 5 :(得分:1)
答案 6 :(得分:-1)
没有html / javascript解决方法。你必须要看flash或java才能做到这一点。
答案 7 :(得分:-1)
正如其他人所说,你必须使用Flash才能获得多次上传。 uploadify的替代方法是SWFUpload。
答案 8 :(得分:-1)
除了HTML5之外,Flash是唯一的选择。