首页 > 解决方案 > 如何通过Javascript设置输入文件的位置?

问题描述

我在网页上有下一个输入

<input accept="image/jpeg" class="class1" type="file">

我正在尝试通过 chrome 控制台设置它的文件位置,我试图做下一件事

var Files = ['C:/Users/user/Desktop/dir/toUpload/file.jpg']; 

var upload=document.getElementsByClassName("class1");

upload.files = Files;

但它似乎对页面没有任何影响。

我怎样才能实现以这种方式上传文件?(没有提交按钮只是文件输入)

标签: javascriptgoogle-chrome-devtools

解决方案


我 90% 确定这在 JavaScript 中是不可能的。浏览器在用户手势之后创建一个 File 对象。允许页面在没有用户手势的情况下创建文件将使随机页面能够读取用户计算机上的本地文件。

文件对象通常从作为用户使用该元素选择文件的结果返回的 FileList 对象、从拖放操作的 DataTransfer 对象或从 HTMLCanvasElement 上的 mozGetAsFile() API 检索。在 Gecko 中,特权代码无需用户交互即可创建表示任何本地文件的 File 对象(有关更多信息,请参阅实现说明。)

https://developer.mozilla.org/en-US/docs/Web/API/File


推荐阅读