【问题标题】:formData.delete() not a known propertyformData.delete() 不是已知属性
【发布时间】:2018-04-27 12:39:55
【问题描述】:

我正在使用 FormData 对象上传文件,我想要从 FormData 中删除文件的功能,但我得到一个错误删除属性在 FormData 对象上不存在

formData.delete(fileName)

代码

upload(){
    let formData = new FormData();
    let inputEl: HTMLInputElement = this.inputEl.nativeElement;
    let files: FileList = inputEl.files;
    formData.append('uploadFile', files, files.name);
}

delete(fileName){
    formData.delete(fileName);
}

【问题讨论】:

  • 分享你的代码
  • 'upload(){ let formData = new FormData();让 inputEl: HTMLInputElement = this.inputEl.nativeElement;让文件: FileList = inputEl.files; formData.append('uploadFile', files, files.name); } 删除(文件名){ formData.delete(文件名)}'

标签: angular typescript file-upload form-data


【解决方案1】:

变量不能在方法之间共享,因此您需要使用属性,或者调用方法并获取结果。

下面的示例将formData 存储在私有属性中,并在每个方法中使用this.formData 引用它。

private formData: FormData;

upload() {
    this.formData = new FormData();
    let inputEl: HTMLInputElement = this.inputEl.nativeElement;
    let files: FileList = inputEl.files;
    this.formData.append('uploadFile', files, files.name);
}

delete(fileName){
    this.formData.delete(fileName);
}

【讨论】:

  • 我仍然得到属性“删除”在 FormData 类型上不存在
  • 你在哪里叫它?听起来你有经典的范围问题,这可能会用箭头函数解决。
【解决方案2】:

由于 Safari 和 IE 不支持删除属性,请查看此页面 https://developer.mozilla.org/en-US/docs/Web/API/FormData/delete

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 2011-11-06
    • 2015-12-21
    • 2021-11-29
    • 2021-10-21
    • 2019-11-04
    • 2017-02-03
    • 2018-09-07
    相关资源
    最近更新 更多