当前位置: 首页 > 面试题库 >

输入文件到数组javascript / jquery

郑理
2023-03-14
问题内容

我有一个输入类型的文件,我在其中将要放入javascript的变量中进行操作。

HTML:

<input class="file" id="file1" name="uploadedimages[]" type='file' multiple/>

JavaScript:

var upload = document.getElementById('file1');
upload.files.splice(idtoremove,1) //not working

我如何删除上载变量中的特定项目?我搜索到输入类型文件是只读的,除非将其放入数组并使用ajax上载文件,否则您将无法对其进行操作。

即时通讯这样做上传到我的画廊。首先,我选择多个图像。然后在上传之前先预览图片。还可以选择删除照片。我的问题是。如何删除输入文件中的照片文件。因此,可能的解决方案是将输入文件存储到阵列中,然后删除阵列中所需的照片,然后为阵列创建formdata并使用ajax上传


问题答案:

编辑,更新

如何删除上传变量中的特定项目?

如果预期结果是文件对象数组,则将调整从原始files对象拼接数组项的方法-并发送已拼接的数组作为上载-而不是尝试从原始files对象“删除”项并仍然上传原始files对象。

FileList对象没有.splice()method。尝试利用.slice().call()以转换filesArray,则调用.splice()方法的上阵列File对象,例如;

// `_files` : `File` object items from original `files` `FileList`
// call `.splice()` on items that would be uploaded ,
// upload `_files` array - _not_ original `files` `FileList` object
// e.g.; `_files`:`File` objects to _keep_ not "delete" from `files`
var idstokeep = [0, 2]; // splice , keep first `2` files 
var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]);

或者,利用

项目()

返回表示文件列表中指定索引处的文件的File对象。

返回特定index范围内的文件FileList

  var files = e.target.files;
  // return `file` at `index` `1`
  var firstFile = files.item(1);
var upload = document.getElementById("file1");



upload.onchange = function(e) {

  var files = e.target.files;

  // https://developer.mozilla.org/en-US/docs/Web/API/FileList#item

  var firstFile = files.item(1);

  var idstokeep = [0, 2]; // keep first `2` files from `multiple` selection

  var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]);

  console.log(files, files.length

              , _files, _files.length

              , firstFile);

};


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">

</script>

<input class="file" id="file1" name="uploadedimages[]" type='file' multiple/>


 类似资料:
  • 我想在括号中创建一个json文件,只存储一个有200个元素的数组,我想能够将该文件导入到我的“main.js”文件中,并且能够使用它,即使数组本身已经不在“main.js”了。 我该怎么做?

  • 问题内容: 一直试图将我的房屋,房屋的年数和大小添加到GUI(更确切地说是JTextarea)中。最简单的方法是什么?尚未完全掌握数据输入。 问题答案: 有一个简单的方法,应该可以轻松附加结果 例如… 看看如何使用文本区域实现更多细节

  • 我只是在用java阅读输入文件,直到我在最基本的步骤上被难住了。。。正在查找输入文件! 输入。txt文件与调用它的类文件位于同一目录中,但eclipse仍给我一个错误,即找不到它: "线程"main"中的异常java.lang.错误:未解决的编译问题:未处理的异常类型FileNotFoundException" 我的代码: 输入txt在同一个包、同一个文件夹和所有内容中。我很困惑:(

  • 整个项目是从一个文件中获取数据,该文件是一个文本文件,其中载有所有201个国家的名单及其按字母顺序排列的各自互联网使用率。这里有一个例子

  • 问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持Copy + Paste,Drag + Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE 9以后的所有浏览器) : 现

  • 本文向大家介绍aurelia 绑定到文件输入,包括了aurelia 绑定到文件输入的使用技巧和注意事项,需要的朋友参考一下 示例