如何解决在具有自定义文件名的新标签页中显示 pdf
我正在服务器 (SpringBoot) 中读取 pdf 并将其作为要在新选项卡中打开的字节数组返回。在客户端(Angular),我将它作为一个 blob 使用。然后我尝试在新标签页中打开 pdf
service.ts 文件
getPdf(httpHeaders: HttpHeaders): Observable<any> {
return this.http.get(this.getServerUrl() + 'dummypdf',{
observe: 'response',responseType: 'blob',headers: httpHeaders
});
}
Component.ts 文件
openPdf(){
this.service.getPdf(generateRequestId()).subscribe(file => {
let blobData = new Blob([file.body],{
type: 'application/pdf'
});
let fileData = new File([file.body],"name",{type: 'application/pdf'});
let fileURL = window.URL.createObjectURL(fileData);
window.open(fileURL,"_blank")
})
}
我可以在新标签页中打开 pdf。一切顺利。但是 blob URL 是这样显示的
blob:http://localhost:4200/ba35a67c-571e-4450-bda4-b438dc8d6d8e
我确实明白这是因为它正在读取的内存位置而且它不可定制。
我的问题是,有没有其他方法可以解决这个问题。就像可能不将其作为 blob 使用或不将其作为字节数组从服务器发送?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。