检查下载文件的URL是否正确。
检查服务器端响应头中是否包含"Content-Disposition"和"Content-Type"的属性,并确保它们均正确设置。
检查服务器端是否返回正确的文件类型(如.xlsx、.xls等)。
下面是一个示例代码,它可以在Angular14中下载Excel文件,并可以解决这个问题:
import { Component } from '@angular/core'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { saveAs } from 'file-saver';
@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'app';
constructor(private http: HttpClient) {}
downloadExcel() { let url = 'http://example.com/excel.xlsx';
let headers = new HttpHeaders();
headers = headers.set('Accept', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
this.http.get(url, { headers: headers, responseType: 'blob' as 'json'}).subscribe(
(response) => {
let blob = new Blob([response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
saveAs(blob, 'excel.xlsx');
},
error => {
console.log(error);
}
);
} }
请注意,此示例代码中的URL是假的,因此需要更改为正确的URL。同时,请安装“file-saver”依赖项以进行Excel文件下载。