预填充 HTML 表单文件输入

问题描述 投票:0回答:2

我有一个 VBScript,它可以检查 HTML 表单,用固定值填充它,然后提交它。到目前为止它工作正常,但现在我需要设置将在表单数据中上传的文件的位置。

我相信如果我将位置设置为该值,它就会起作用,但事实并非如此。

 <input type='file' name="file_field" value='file_location'/>

另外,我在研究时发现了this。它说...

输入类型=文件 Value:设置或检索控制对象的显示值。当控制对象提交时,这个值会返回给服务器

有没有办法(通过代码)来填充该输入,即使使用 jQuery?

html forms file-io
2个回答
51
投票

不。这是不可能的。

出于安全原因,浏览器禁止在文件类型的输入上设置 value 属性,以便在用户未亲自选择任何文件的情况下无法上传文件。


0
投票

如果您有权访问文件对象或可以动态构造文件对象,则可以通过

files
设置
DataTransfer

const transfer = new DataTransfer();
transfer.items.add(new File(['file 1 content'], 'file 1.txt'));
transfer.items.add(new File(['file 2 content'], 'file 2.txt'));
document.querySelector('input').files = transfer.files;

document.querySelector('form')
  .addEventListener('submit', e => {
    e.preventDefault();
    console.log(...new FormData(e.target));
  });
<form>
  <input name="files" type="file" multiple /> <br />
  <button>Submit</button>
</form>

© www.soinside.com 2019 - 2024. All rights reserved.