如何选择多个文件<input type="file">
?
如何选择多个文件<input type="file">
?
Answers:
新答案:
在HTML5中,您可以添加multiple
属性以选择多个文件。
<input type="file" name="filefield" multiple="multiple">
旧答案:
每个只能选择1个文件
<input type="file" />
。如果要发送多个文件,则必须使用多个输入标签或使用Flash或Silverlight。
这个jQuery插件(jQuery File Upload Demo)在不使用Flash的情况下使用以下形式:
<input type='file' name='files[]' multiple />
HTML5为type属性为file的输入元素提供了多个新属性。因此,您可以选择多个文件,而IE9和以前的版本不支持此文件。
注意:请小心输入元素的名称。当您要上传多个文件时,应使用数组而不是字符串作为name属性的值。
例如:输入type =“ file” name =“ myPhotos []” multiple =“ multiple”
如果您使用的是php,那么您将获得$ _FILES中的数据,并使用var_dump($ _ FILES)并查看输出并进行处理现在您可以遍历并进行其余操作
这很简单 ...
<input type='file' multiple>
$('#file').on('change',function(){
_readFileDataUrl(this,function(err,files){
if(err){return}
console.log(files)//contains base64 encoded string array holding the
image data
});
});
var _readFileDataUrl=function(input,callback){
var len=input.files.length,_files=[],res=[];
var readFile=function(filePos){
if(!filePos){
callback(false,res);
}else{
var reader=new FileReader();
reader.onload=function(e){
res.push(e.target.result);
readFile(_files.shift());
};
reader.readAsDataURL(filePos);
}
};
for(var x=0;x<len;x++){
_files.push(input.files[x]);
}
readFile(_files.shift());
};
复制并粘贴到您的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>';
}
这是通过以下网页通过我来找您的:http : //www.html5rocks.com/en/tutorials/file/dndfiles/