0

我正在上传一个文件并将数据发送到 API 命中,当我从我的应用程序运行它时,文件详细信息将变为空,但是当我通过邮递员运行它时它可以工作并且文件被保存在 API 创建的文件夹中。我没有找到我出错的地方,尝试了我能做的所有方法。

HTML:

 <div class="custom-file" (click)="fileInput.click()" appDragDrop (onFileDropped)="uploadFile($event.target.files)">
                <input hidden type="file" #fileInput (change)="uploadFile($event.target.files)" class="custom-file-input" id="uploadFile" formControlName="uploadFile">
              </div>

TS:

uploadFile (files: FileList) {
    this.files = files.item(0);
    this.agentViewDetailsService.uploadFile(this.files).subscribe(data => {
      console.log(data,"upload")
      }, error => {
        console.log(error);
      });
  }

服务:

 uploadFile(file) {
    const formData: FormData = new FormData();
    formData.append('fileName',  file.name);
    formData.append('file', file);
    formData.append('status', '1')
    const headers = new HttpHeaders().append('Content-Disposition', 'mulipart/form-data');
  console.log(formData)
    return this.http.post(`${user.w9FileUpload}`, formData,{headers: headers})
  }

请帮忙,我完全被困在这里,没有找到我要去的地方

演示

在此处输入图像描述

4

1 回答 1

1

试试这样:

uploadFileService(file) {
    const formData: FormData = new FormData();
    formData.append("fileName", file.name);
    formData.append("file", file);
    formData.append("status", "1");
    const headers = new HttpHeaders().set('Content-Disposition', 'mulipart/form-data');
    console.log(Array.from(formData));
    this.http.post(`${user.w9FileUpload}`, formData,{headers: headers}).subscribe(res => {
      console.log(res)
    })
}

演示

于 2020-01-23T07:53:39.037 回答