猿问

如何使用Angular 2下载文件?

如何使用Angular 2下载文件?

我有一个WebApi/MVC应用程序,我正在为它开发一个angular2客户机(以取代MVC)。我有一些麻烦,了解如何棱角保存一个文件。

请求是可以的(mvc很好,我们可以记录接收到的数据),但我想不出如何保存下载的数据(我主要遵循的逻辑与这个职位)。我相信这是愚蠢的简单,但到目前为止,我根本没有抓住它。

组件函数的代码如下。我尝试过不同的方法,BLOB方式应该是我所理解的方式,但是没有功能createObjectURL在……里面URL..我甚至找不到URL但很明显它是存在的。如果我使用FileSaver.js模块我也会犯同样的错误。所以我想这是最近发生的变化,或者还没有实现。如何触发保存在A2中的文件?

downloadfile(type: string){

    let thefile = {};
    this.pservice.downloadfile(this.rundata.name, type)
        .subscribe(data => thefile = new Blob([data], { type: "application/octet-stream" }), //console.log(data),
                    error => console.log("Error downloading the file."),
                    () => console.log('Completed file download.'));

    let url = window.URL.createObjectURL(thefile);
    window.open(url);}

为了完整起见,获取数据的服务如下所示,但是它所做的唯一的事情是发出请求并在没有映射的情况下传递数据,如果它成功的话:

downloadfile(runname: string, type: string){
   return this.authHttp.get( this.files_api + this.title +"/"+ runname + "/?file="+ type)
            .catch(this.logAndPassOn);}



富国沪深
浏览 420回答 3
3回答
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答