相关疑难解决方法(0)

(HTML)下载PDF文件,而不是在单击时在浏览器中打开它们

我想知道如何使PDF文件链接可下载而不是在浏览器中打开它们?这是如何在HTML中完成的?(我假设它是通过javascript或其他方式完成的).

html javascript

102
推荐指数
9
解决办法
24万
查看次数

Angular 2下载带有身份验证的.CSV文件点击事件

我正在使用spring boot后端,而我的api使用服务通过OutputStreamWriter发送数据.我可以使用像这样的点击事件在Angular 2中下载它:

打字稿

results(){
window.location.href='myapicall';
}
Run Code Online (Sandbox Code Playgroud)

HTML

<button (click)="results()"
                    class="btn btn-primary">Export</button>
Run Code Online (Sandbox Code Playgroud)

这很好用; 但是,我最近为我的api端点实现了安全性,现在每次尝试拨打电话时都会收到401,因为它没有发送标头.

我写了一个服务,我可以在控制台中看到结果,但我似乎无法弄清楚如何下载文件.

DownloadFileService

import {Injectable} from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs/Rx';

@Injectable()
export class DownloadFileService {

    headers:Headers;
    bearer: string;
    constructor(public http: Http) {}



    getFile(url:string) {
        this.bearer = 'Bearer '+ localStorage.getItem('currentUser');
        this.headers = new Headers();
        this.headers.append('Authorization', this.bearer);

        return this.http.get(url, {headers: this.headers});
    }



}
Run Code Online (Sandbox Code Playgroud)

我尝试通过blob下载数据,如本文所述: 如何使用Angular2下载文件

下载的文件类型为File,内容为:

响应状态:200确定URL:我的网址

它实际上并没有下载数据.

downloadFile(data: any){
        var blob = new Blob([data], { type: 'text/csv' });
        var url= window.URL.createObjectURL(blob);
        window.open(url); …
Run Code Online (Sandbox Code Playgroud)

javascript download fileapi typescript angular

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×2

angular ×1

download ×1

fileapi ×1

html ×1

typescript ×1