如何使用Blob Angular获取文件



我有一个表单和下载文件按钮,我的问题是为什么我不能在下载文件的同时发送我在表单中输入的内容?

this.fg = this.fb.group({
rptReqCode:[''],
rptCode:[''],
parFldVal:[''],
genType:[]
})
}

downloadFile( filename: string = null): void{
const token = 'my JWT';
const headers = new HttpHeaders().set('authorization','Bearer '+token);
this.http.get(this.appsetting.baseURL + 'File/Download'  ,{headers, responseType: 'blob' as 'json'}).subscribe(
(response: any) =>{
let dataType = response.type;
let binaryData = [];
binaryData.push(response);
let downloadLink = document.createElement('a');
downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, {type: dataType}));
if (filename)
downloadLink.setAttribute('download', filename);
document.body.appendChild(downloadLink);
downloadLink.click();
}
)}

通常,如果您想向服务器发送数据,您可以使用POST,如果您想要为服务器提供一些东西,则可以使用POST。

你有几个选择:

POST用户数据,然后使用switchMap连接请求和使用GET请求下载文件。

另一种选择是使用POST请求发送数据,作为响应,您将收到文件。您必须对后端进行一些更改。

最新更新