javascript - 获取文件可能以字符串形式提交
问题描述
所以我试图在提交时获取一个文件,但我得到了这个代码片段,它可以让它发生变化。老实说,我并不真正理解第一行以及它是如何转换的,但基本上我想把它变成一个我可以在点击提交时调用的函数,并且没有事件监听器,因为有时它不起作用,除非在 html 表单上调用。
const fileSelector = document.querySelector('#a_pic');
fileSelector.addEventListener('change', (event) => {
const fileList = event.target.files;
file = fileList[0];
pic_url = URL.createObjectURL(file);
alert(file)
document.querySelector('#secondcheck').innerHTML = '<img src = "' + pic_url + '">';
a_pic = file;
});
html代码:
<form>
<input class= "form-control" type = "file" name= "a_pic" id= "a_pic" accept= "image/*">
<button type="button" value = "submit" name = "submit" id="submit" onclick = "whatever_the_newfunction_may_be()">submit</button>
请任何解释表示赞赏,因为我在 javascript 中是相对较新的绿色。
解决方案
这工作正常。处理表单提交的方法有很多种,但这里有一种方法,您不使用表单的提交事件,而只使用按钮的单击事件。
const fileSelector = document.querySelector('#a_pic');
let picBlobUrl;
fileSelector.addEventListener('input', (event) => {
const fileList = event.target.files;
file = fileList[0];
picBlobUrl = URL.createObjectURL(file);
});
function submitClicked() {
document.querySelector('#secondcheck').innerHTML = '<img src="' + picBlobUrl + '">';
}
<div>
<input class="form-control" type="file" name="a_pic" id="a_pic">
<button onclick="submitClicked()">submit</button>
</div>
<div id="secondcheck"></div>
推荐阅读
- excel - Excel公式通过在另一个列表中找到的查找值来汇总在一个列表中找到的金额
- r - 如何在R中进行联合重采样
- apache-spark - Spark 任务数(分区)不等于 spark.default.parallelism
- r - 修改 DataTables 包中的 R Shiny 搜索栏外观和位置
- amazon-web-services - 跨多个 EKS 集群共享子网
- python - 无法使用 pip install 安装 bfieldtools 和 mayavi 软件包
- php - 如何在 PHP 上传器中重命名某些文件扩展名?
- c# - 在 Selenium ChromeDriver 的 C# 实现中重复出现 ERR_CONNECTION_RESET
- python - 当前获取 django-mptt 的绝对 URL 的方法是什么?
- kernel - 如何在两个内核空间 BPF 程序之间共享 BPF 映射?