我有一个Angular应用程序,用户可以下载他们上传的一些文档(.jpg、.mp4和.pdf).基本上,文件的下载是这样工作的:调用一个服务,该服务返回有关文件的一些信息,如base64中的文件名、类型、大小和内容.
这是用户单击下载按钮时组件中的下载方法:
downloadDocument(doc: Document) {
this._subDownDocument = this.service.getDocument(doc).subscribe((resp: Document) => {
var link = document.createElement("a");
link.download = resp.fileName;
link.target = "_blank";
// Construct the URI
link.href = resp.url;//Url is the content of the file in base64
document.body.appendChild(link);
link.click();
// Cleanup the DOM
document.body.removeChild(link);
});
}
对于高达12mb的文件,它工作得非常好.但当文件较大时,下载无法启动,服务会正确地提供文件,但我不知道为什么下载无法启动.浏览器控制台中不会显示任何错误.
这个问题只会发生在Firefox上,因为在Google Chrome上它可以正常工作.你知道我该怎么解决这个问题吗?