使用名称 [object FormData] 创建的文件,但它必须是名称 Delivery.xlsx

file created with name [object FormData] but it must be Name Delivery.xlsx

我和 angular 7 一起在 asp.net 核心 2.2 项目上工作。我在下载文件时遇到问题

它使用名称 [object FormData].xlsx 创建,但名称必须是 DeliveryGeneration_Output.xlsx .

在 Angular 7

public uploadFile = (files) => {
   
    const formData = new FormData();
    
    formData.append('file', this.fileToUpload,this.fileToUpload.name);
   this.http.post('https://localhost:44396/api/ApprovalQuality/', formData,{ responseType: 'blob' })
      .subscribe((response: Blob) => saveAs(response, formData + '.xlsx'));
         
  }

网络版 API .Net Core 2.2

 var memory2 = new MemoryStream();
                    using (var stream = new FileStream(exportPath, FileMode.Open))
                    {
                        stream.CopyTo(memory2);
                    }
                    memory2.Position = 0;
 return File(memory2, "text/plain", Path.GetFileName(exportPath));

返回并创建的路径

\192.168.2.7\ImportExport\2\Export\DeliveryGeneration_Output.xlsx

那么为什么文件名是用 [object FormData].xlsx 创建的而不是用 DeliveryGeneration_Output.xlsx

创建的

以及如何解决这个问题?

因为 formDataFormData 的一个类型。它加上.xlsx,就会变成一个字符串。 [对象 FormData].xlsx

需要改为文件名,如:

this.http.post('https://localhost:44396/api/ApprovalQuality/', formData,{ responseType: 'blob' })
  .subscribe((response: Blob) => saveAs(response, this.fileToUpload.name + '.xlsx'));   
}