formData.delete()不是已知属性

时间:2017-11-14 14:11:23

标签: angular typescript file-upload form-data

使用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);
}

2 个答案:

答案 0 :(得分:0)

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

以下示例将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);
}

答案 1 :(得分:0)

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