在angularjs中下载时更改fileName

时间:2015-08-31 12:06:33

标签: javascript html ajax angularjs

我需要从angularjs中的ajax GET请求下载文件(ajax查询重定向到下载链接)。我当前的方法是创建一个不可见的iframe并在其中加载该url,以便为下载的文件获取“另存为”弹出窗口。但是我需要在保存为弹出窗口之前更改文件名。

请建议一种方法来实现同样的目标。

1 个答案:

答案 0 :(得分:0)

你可以使用eligrey编写的Filesaver.js脚本(我在这里使用angularjs)你可以使用XmlHttpRequest对象在经典的javascript中实现相同的目标

//In your html code , add these : ->
<script src="https://rawgit.com/eligrey/FileSaver.js/master/FileSaver.js" type="text/javascript"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
//In your Javascript:- 

$http({
    url: "url where the file is located",
    method: "GET",
    responseType: "blob"
}).then(function (response) {

saveAs(response.data,"newfilename.extension");

})