要从服务器下载传入的文件,你可以使用Angular的HttpClient模块来发送HTTP请求并获取文件内容。以下是一个解决方法的示例代码:
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) {}
downloadFile() {
const url = 'http://example.com/file.pdf'; // 用你的实际文件URL替换
this.http.get(url, { responseType: 'blob' })
.subscribe((blob: Blob) => {
const downloadURL = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = downloadURL;
link.download = 'file.pdf'; // 下载的文件名
link.click();
window.URL.revokeObjectURL(downloadURL);
});
}
在上面的代码中,我们使用了responseType: 'blob'
来告诉HttpClient我们希望将响应的内容作为Blob对象返回。然后,我们创建了一个URL对象来生成一个可下载的URL,并创建了一个元素来模拟用户点击下载链接。最后,我们通过调用window.URL.revokeObjectURL()
来释放URL对象。
这样,当用户点击按钮时,文件将从服务器下载到他们的计算机上。
请注意,上述代码中的URL和文件名是示例值,你需要根据你的实际情况进行替换。