javascript - 提交后如何清除FormData()
问题描述
我开发了一个文件输入。选择该文件时,将执行一个检测文件并将其发送到服务的功能。
我的问题是格式总是吸收所有选定的文件并且从不清理。也就是说,如果您选择 2 张图片,然后删除其中一张,我得到 1 张,但如果在删除一张图片后,插入另一张……我将有 3 张而不是 2 张(应该有 2 张,因为其中一张已经已删除)。问题是表单数据总是存储一切。
有没有办法在插入文件时清除格式数据?
代码
<input type="file" id="files" (change)="Add($event)">
formData1 = new FormData();
Add(event) {
var anex = event.target.files;
for (let index = 0; index < anex.length; index++) {
this.formData1.append('file', anex[index]);
}
this.sendfiles()
}
sendfiles(){
console.log("Clear formdata();")
console.log(this.formData1)
}
解决方案
在添加新文件之前,您应该将您的 formData 清除为新实例。
Add(event) {
var anex = event.target.files;
// Clear form data before appending new ones
this.formData1 = new FormData();
for (let index = 0; index < anex.length; index++) {
this.formData1.append('file', anex[index]);
}
this.sendfiles()
}
推荐阅读
- python - Selenium 没有找到带类的部分列表?
- c# - WPF 更改按钮颜色,已定义样式
- python - 如何通过 selenium 使用 python 实现单击元素名为 data1?
- oracle - 如何比较系统月份和销售月份?
- visual-studio - 无法安装 VS 代码
- javascript - 使用 JavaScript 在字符串中按位置突出显示部分字符串
- vb.net - 缺少 WebRequest 内容处置
- microsoft-graph-api - 如何获得在线见面列表“立即见面”-Microsoft graph api
- node.js - 无法对管理 API 进行原始查询在 MongoDB Atlas 上不起作用
- angular - 无需重绘 UI 的角度路由返回