Angular 7-将文件上传到服务器

时间:2019-10-18 11:29:17

标签: angular

我正在尝试将输入文件发送到服务器。当输入文件中有数据返回到控制台中

 FileList {0: File, length: 1}0: File {name: "8mn4p369li331.png", lastModified: 1567609045831, lastModifiedDate: Wed Sep 04 2019 16:57:25 GMT+0200 (hora de verano de Europa central), webkitRelativePath: "", size: 9587062, …}length: 1__proto__: FileList

我试图像这样将它放在formData元素中,但不起作用

  save(form: NgForm) {
       const formData: FormData = new FormData();
       formData.append('file', this.selectedFiles, this.fileName)
       form.value["file"] = formData;
}

因此:将文件(以表格形式)上传到服务器的正确方法是什么?

更新:onChange函数

  fileEvent(event:any){
    this.selectedFiles = event.target.files;
    this.fileName = this.selectedFiles[0].name;
    console.log(this.selectedFiles);

}

2 个答案:

答案 0 :(得分:0)

提供正确的文件

let formdata = new FormData();
formdata.set('file', file, "fileName");

我相信您只能为每个变量设置一个文件...

编辑:我的文件变量是Blob ...

Blob {size: 3151, type: "application/pdf"}

答案 1 :(得分:0)

您的保存功能应为

save(form: NgForm) {
   const formData: FormData = new FormData();
   formData.append('file', this.selectedFiles[0], this.fileName)
   form.value["file"] = formData;
}