如何用<input type =“file”>select多个文件?
如何用<input type="file">
select多个文件?
新答案:
在HTML5中,您可以添加multiple
属性来select多个文件。
<input type="file" name="filefield" multiple="multiple">
老答案:
每个
<input type="file" />
只能select1个文件。 如果你想发送多个文件,你将不得不使用多个input标签或使用Flash或Silverlight。
还有HTML5 <input type="file" multiple />
但是我不知道它有多广泛的支持。
整个事情应该是这样的:
<form enctype='multipart/form-data' method='POST' action='submitFormTo.php'> <input type='file' name='files[]' multiple /> <button type='submit'>Submit</button> </form>
确保你的<form>
标签中有enctype='multipart/form-data'
属性,否则在提交后你不能读取服务器端的文件!
这个jQuery插件( jQueryfile upload演示 )在没有使用Flash的情况下使用它的forms:
<input type='file' name='files[]' multiple />
你现在可以用HTML5来做
实质上你使用文件input的多个属性。
<input type='file' multiple>
HTML5为type属性为file的input元素提供了新的属性倍数。 所以你可以select多个文件,IE9和以前的版本不支持这个。
注意:请小心input元素的名称。 当你想要上传多个文件时,你应该使用数组而不是string作为name属性的值。
例如:input type =“file”name =“myPhotos []”multiple =“multiple”
如果您使用的是PHP,那么您将获得$ _FILES中的数据并使用var_dump($ _ FILES)并查看输出并执行处理。现在,您可以迭代并完成其余
<form action="" method="post" enctype="multipart/form-data"> <input type="file" multiple name="img[]"/> <input type="submit"> </form> <?php print_r($_FILES['img']['name']); ?>
复制并粘贴到您的HTML:
<input type="file" id="files" name="files[]" multiple /> <output id="list"></output> <script> function handleFileSelect(evt) { var files = evt.target.files; // FileList object // files is a FileList of File objects. List some properties. var output = []; for (var i = 0, f; f = files[i]; i++) { output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a', '</li>'); } document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>'; }
这是通过我从这个网页find的: http : //www.html5rocks.com/en/tutorials/file/dndfiles/