如何从单个输入获取多个文件输入 [英] how to get multiple file input from a single input

查看:91
本文介绍了如何从单个输入获取多个文件输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个输入文件元素.

I have an input file element.

<input type='file' id='tempFileInput' multiple></input>

假设我为上述文件输入框('tempFileInput')选择了三个文件;

Let say I have selected three files for the above file input box ('tempFileInput');

OnChange我想将三个文件分成每个文件的三个新文件输入框.即

OnChange I want to separate three files into three new file input boxes for each file. i.e

<input type='file' id='inputFile_0'></input> 
<input type='file' id='inputFile_1'></input> 
<input type='file' id='inputFile_2'></input>

我正在努力实现这一目标.有帮助吗?

I'm struggling to achieve this. Any help?

///我已经写了一段关于我想要实现的目标的JavaScript小片段.

//I have written a small JavaScript snippet towards what I wana achieve.

var index = 0;
function multipleInputBoxes(tempFileInput){
   var divForm = document.getElementById('divForm');
   var numOfFiles = tempFileInput.files.length;

   for(var i=0; i<numOfFiles; i++){
      var newUploader = document.createElement('input');
      newUploader.type='file';
      newUploader.id = 'inputFile_' + index;

      var file = tempFileInput.files[i];
      ***newUploader.files[0] = file;***
      //above line does not work, as by default due to security reasons input type='file' is read only, and non editable.

      divForm.appendChild(newUploader);
      index++;
   }
}

推荐答案

所以我很难访问单个文件输入形式的文件( s )并将它们分别保存在每种形式中.因为可以访问每个文件 var file = tempFileInput.files[i] ,所以我创建了一个循环,并将每个文件保存在html'object'标记中,并将文件对象保存在object.value中.例如

So I was having difficulty accessing file(s) form single fileinput and separately saving them in each form. As I could access each file var file = tempFileInput.files[i], I created a loop and saved each file in a html 'object' tag and saved the file object in object.value. For e.g

var numOfFile = tempFileInput.files.length;
for (var int i=0; i<numOfFile; i++){
    //get file object from the filinput element
    var file = tempFileInput.files[i];

    //create new element
    var newObj = document.createElement('object');
        newObj.id = 'obj_' + i;
        newObj.value = file;

    //append object to new form
    createNewForm(newObj);
}

function createNewForm(newObj){
   ...do something here
   ...
   ...
   newForm.appendChild(newObj);
}

这篇关于如何从单个输入获取多个文件输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆