使用Javascript下载文件/url
Download file/url using Javascript
我正试图通过创建一个链接并单击它来使用javascript自动下载一个文件。这是有效的,但使用下载属性来指定文件的名称是无效的。
我使用下面的代码
var a = document.createElement("a")
a.download = "hellooo.png"
a.href = "http://icons.iconarchive.com/icons/yellowicon/game-stars/256/Mario-icon.png";
a.click();
有没有办法做到这一点?
这是我使用XMLHttpRequest的代码,在IE10+、firefox和Chrome 中进行了测试
function download(url, fileName) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onprogress = function(event) {
if (event.lengthComputable) {
var percentComplete = (event.loaded / event.total)*100;
//yourShowProgressFunction(percentComplete);
}
};
xhr.onload = function(event) {
if (this.status == 200) {
_saveBlob(this.response, fileName);
}
else {
//yourErrorFunction()
}
};
xhr.onerror = function(event){
//yourErrorFunction()
};
xhr.send();
}
function _saveBlob(response, fileName) {
if(navigator.msSaveBlob){
//OK for IE10+
navigator.msSaveBlob(response, fileName);
}
else{
_html5Saver(response, fileName);
}
}
function _html5Saver(blob , fileName) {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
document.body.removeChild(a);
}
相关文章:
- 直接下载文件,而不是从window.open(url)
- CKFinder 3为所选文件返回错误的URL
- 将CSV文件从URL导入Node.js
- 如何从“”运行url;.js”;文件
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- gcloud节点-我如何确保通过签名URL上传到谷歌云存储的文件是公开可读的
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- jqueryajax调用是复制url,当在模态视图之后在外部js文件中进行调用时
- 生成的excel文件url
- 如何在PHP中使用url保护我的图像和文件夹免受直接访问
- 如何使用phonegap从android中的URL下载文件
- 读取不带fs的txt文件nodejs(来自url)
- 检查蒸汽配置文件url是否有效
- ExtJS:从受保护的url创建JSB3文件
- 将 MVC 3 应用程序部署到 URL 文件夹已损坏 JavaScript 和内容路径
- 如何获取JSON URL文件并使其不断更新
- 获取远程加载图像的url's文件大小
- JS智能感知不工作的外部URL文件在VS2012
- ASP.. NET - windows . open (URL) -文件被缓存,我如何停止它