首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从服务器到客户端发送pdf文件

从服务器到客户端发送pdf文件
EN

Stack Overflow用户
提问于 2018-08-25 05:06:43
回答 1查看 2.1K关注 0票数 0

我想从服务器发送pdf文件,并显示在客户端。我使用服务器端技术作为java,客户端作为角6,请推荐我。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-25 05:37:55

使用arraybuffer

服务调用:

在档案服务中:

代码语言:javascript
复制
getFileFromServer(url){
   return this.httpService.getUploadedFile(url);
}

在HTTP服务中:

代码语言:javascript
复制
getUploadedFile(url:string){
        //just for authentication and file access.
        let headers = new HttpHeaders().append("Authorization", "Bearer " + token)
        return this.httpClient.get(url, {responseType: 'arraybuffer',headers:headers});
    }

组件中的

使用Blob

Blob引用-> 水滴

在这里,this.type = 'application/pdf‘

例如,用户单击View:

(click)="getPdfFile()"发射的还快。

它将调用服务方法作为arraybuffer获得响应。

代码语言:javascript
复制
getPdfFile() {
  this.fileService.getFileFromServer(url).subscribe(responseData => {

                    //catch response as array buffer
                    this.showPdfFile(responseData, this.type);

                }, error => {

             //catch error if any
             console.log(error);
        });
    }

showPdfFile(data: any, type: string) {
            var blob = new Blob([data], { type: type });
            var url = window.URL.createObjectURL(blob);

            // it will open url to new tab.
            window.open(url);
        }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52014205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档