【问题标题】:Add a File (JS object) to input type="file"添加一个文件(JS 对象)以输入 type="file"
【发布时间】:2018-12-24 14:13:27
【问题描述】:

我需要一种将 File 对象添加到文件输入字段的方法。

注意我不想set the value的文件字段。 (这是一个安全风险,...我知道)
我已经拥有文件本身(及其所有内容!)

我正在像这样创建 File 对象:

canvas.toBlob(function(blob) {
  var file = new File([blob], 'file.png');
  // and now I want to add MY File to the input here
});

请不要告诉我如何上传文件,我知道 XMLHttpRequest Level 2。我想将文件上传到外部网站(可能使用用户脚本或类似的东西)。

那么,我该如何实现呢? 或者如果不可能:为什么我不能将我实际拥有的文件(因为我在浏览器中创建它(作为虚拟文件,甚至在用户文件系统中不存在))添加到我拥有的输入字段也? (从技术上讲,输入字段可以是我自己的,这无关紧要)

【问题讨论】:

标签: javascript file fileapi html-input


【解决方案1】:

不,你不能。

取自here

您似乎想从 drop 事件中获取 File 对象并将其分配给元素。不幸的是,你不能这样做。只有用户可以选择文件;您无法动态更改将要上传的文件,因为浏览器出于安全原因拒绝 JavaScript 提供此功能。

【讨论】:

  • 是的...因为如果允许以编程方式更改input file,网络开发人员可以轻松窃取用户的文件..
猜你喜欢
  • 1970-01-01
  • 2018-11-04
  • 2012-10-01
  • 1970-01-01
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多