【发布时间】:2021-04-24 17:12:51
【问题描述】:
我想下载文档而不是在新标签中打开它。扩展名为 .docx 的文件可以正常下载,但 .pdf 或 .jpg 只能在新选项卡中打开。我希望点击 .docx 后自动下载 pdf 和 jpg 文件。
Html(无法更改):
<div *ngFor="let action of documentActions">
<button (click)="action.makeAction(element)">
<mat-icon>{{action.name}}</mat-icon>
</button>
</div>
网址为 e.q:https://web-application.com/somefile.pdf
我已经厌倦了 FileSaver(npm intall file-saver),但仍然没有下载,只有打开新标签。
ts 组件:
declare var require: any
const FileSaver = require('file-saver');
(...)
name: 'download',
makeAction: (elem: DocumentListItem) =>
{
const url = elem.documentUrl;
const filename = elem.name;
FileSaver.saveAs(url,filename);
}
我也累了:
makeAction: (elem: DocumentListItem) =>
{
window.open( elem.documentUrl);
}
or
makeAction: (elem: DocumentListItem) =>
{
window.location.href = elem.documentUrl;
}
但效果相同。在任何情况下都可以下载 docx 文件。 我将不胜感激帮助解决问题。
您好!
【问题讨论】:
-
显示你的服务器代码...
-
不是很清楚你使用的是什么库,但假设Node.js/Express,有javascript - node/express Force browser to download file with custom name - Stack Overflow
-
您的确切意思是什么服务器代码?这就是我完成这项任务的所有代码
-
您的程序在哪台机器上运行? (客户端浏览器中的 JavaScript 代码,而不是服务器上的 Node.js?或者客户端机器上的这个 Node.js 是否正在运行一些东西来抓取预定义的网站?)为什么你可以更改 JavaScript 而不能更改 HTML?跨度>
-
这是 Angular CLI 服务器
标签: javascript angular typescript downloadfile