希望这个问题有一个简单的解决方案。
我需要一次将一个文件上传到我的服务器,所以我有一个脚本,它可以通过每个文件输入字段的 iframe 排队上传文件。
现在,我有一个工作脚本,可以循环并单独上传每个文件,选择:
<input type="file" name="file" />
<input type="file" name="file" />
<input type="file" name="file" />
并像这样循环:
$('input[type="file"]').each(function(){
我的问题是,我怎样才能改变.each来使用这个,只有一个文件选择器:
<input type="file" name="file" mulitple/>
$(???).each(function(){
我努力了
fileInput = document.getElementById("multiFileChooser");
$(fileInput.files).each(function(){
但是该文件未发送,也不存在于请求的有效负载中。
编辑2:
固定和工作解决方案:
(function($){$(document).ready(function(){
$('input[type="submit"]').click(function(){ //on button press
for(var ii = 0; ii < $('#multiChoose').get(0).files.length; ii++){
sendFile($('#multiChoose').get(0).files[ii]);
//wait until upload complete to start next one
}
});
})})(jQuery);
function sendFile(file) {
var uri = "upload.php";
var xhr = new XMLHttpRequest();
var fd = new FormData();
xhr.open("POST", uri, true);
xhr.onreadystatechange = function() {
//queue next file
};
fd.append('file', file);
xhr.send(fd);
}