我正在研究angular2项目,我在Assets文件夹中有一个文件,并且创建了一个在运行应用程序时下载文件的按钮。
我看到上述问题有很多解决方案,所以我很困惑。您能帮忙吗?
<button pButton type="button" (click)="f1()" label="Download Sample Defaults
XML File"></button>
我需要f1()的代码,单击上面的按钮时,该代码可以帮助我将文件下载到我的下载文件夹中。帮助表示赞赏。谢谢
您可以设置锚元素的样式以使其看起来像一个按钮,并将其href设置为资产/文件
<a href="assets/file">Download here</a>
或动态创建锚元素,将其设置为href元素,然后单击它。
类似:
let link = document.createElement('a');
link.setAttribute('type', 'hidden');
link.href = 'assets/file';
link.download = path;
document.body.appendChild(link);
link.click();
link.remove();
您不需要更改模板。使用这种方式
f1() {
window.open('path', '_blank');
}
ex:
f1() {
window.open('/assets/images/blabla.png', '_blank');
}
更新
如果您需要下载文件而不是打开新选项卡,请使用带有html5 download属性的链接例如:
<a download="filename" target="_blank" href="/assets/images/blabla.png">
Click here to download image
</a>
您可以尝试此解决方案
ts文件代码
downloadFile(){
let link = document.createElement("a");
link.download = "filename";
link.href = "assets/images/user-image.png";
link.click();
}
html文件代码
<button (click)="downloadFile()">Download</button>
这应该有效,简短而又可爱,通过“ download”和“#”-“ yoclickme”可以使它起作用
<a href="{{ this.fileurl }}" download #yoclickme></a>
<button (click)="yoclickme.click()"> Download </button>