如何将FileList数组添加到<输入类型='文件'>控制
How to add FileList array into <input type='file' > control?
在这个场景中,我有两个文件类型的输入控件。
Html:
<input type="file" id="file1" multiple="multiple" />
<input type="file" id="file2" multiple="multiple" />
<input id="btn1" type="button" />
脚本:
<script>
var fileList = [];
$('#file1').change(function (e) {
var files = e.target.files;
$.each(files, function (k, v) {
fileList.push(files[k]);
});
});
$('#btn1').click(function(){
//Stuffs to be added for pushing the array of File object from "fileList" array to "file2"
//How to achieve it or is that impossible to do it?
});
</script>
我想实现以下步骤:
步骤1:在"file1"输入更改时,它将把文件推入数组。
步骤2:点击"btn1"按钮,我需要将File对象数组设置或推入"file2"输入控件。但我做不到,我已经在谷歌上搜索过了。我没有找到解决方案。
我无法完成第2步并帮助我。
还提供一些可能对我有帮助的链接。
答案是使用DataTransfer对象。
// first create a var DataTransfer
/*
Used to hold the data that is being dragged
during a drag and drop operation.
It may hold one or more data items,
each of one or more data types.
For more information about drag and drop,
see HTML Drag and Drop API.
*/
let data = new DataTransfer();
// now you need to iterate this
let el = document.getElementById("#myInput");
for (let c = 0; c < el.files.length; c++) {
// @ts-ignore
let file = el.files[c];
data.items.add(file);
}
// then you can put the data files to any input file you want
let el2 = document.getElementById("#myInput2");
el2.files = data.files;
额外:如果你想对文件数据进行切片,你需要使用for循环,数组的切片方法不适用。
// this snippet slices a data transfer alike data.slice(0,4)
let t = data.items.length;
for (let c = 0; c < t; c++) {
c >= 4 && data.items.remove(c);
}
向致以最诚挚的问候
相关文章:
- 无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本
- 如何控制输入值
- 使用 jquery 控制两个选择输入的组合值
- 输入类型='文件'如何控制图像质量
- 运动跟踪 JavaScript = HTML5/canvas 游戏输入/控制
- 如何在 React 中编辑多个输入控制组件
- 更改 Javascript 控制的 HTML 表单的值,并对输入进行编码并传递到 PHP
- Angular2 表单:在控制台上获取“对象”作为输入字段 element.value 的结果
- 根据onKeyUp函数中的输入控制值填充列表框
- 如何重用 JavaScript 函数进行表单输入控制
- 在 Chrome 文本输入字段中插入控制字符
- 我应该如何根据所选的无线电输入重新组织查询的控制流
- 将带有ASCII控制字符的条形码扫描到输入字段中
- 文本区域输入中的控制字符( 、 等)不会立即更新
- js复选框用于控制输入字段的启用/禁用状态
- 如何使用react es6处理多个控制输入
- 如何禁用Android键盘在webview中控制输入字段
- 使用复选框控制输入.value(有一个令人讨厌的转折)
- 控制输入字段中开始输入的位置
- javascript eval(),控制输入&真正的危险