a标签的download属性修改文件名失效的原因

注意:html5 新特性a标签download属性只支持谷歌和火狐
在谷歌和火狐浏览器a标签download属性修改文件名失效的原因:不同源,访问的域名和href的域名要一致。

解决方法:
使用HTML5 Blob实现文件下载,先把文件以bobl的形式下载到当前页面,再创建a标签。

<a click="downloadFile(fileUrl,fileName)">下载文件</a>

<script>
function(fileUrl,fileName){
 var xhr = new XMLHttpRequest();
    xhr.open("GET", fileUrl, true);
    xhr.responseType = 'blob';
    xhr.onload=function(e) {
        var url = URL.createObjectURL(e)//传入返回的bobl对象
        var a = document.createElement('a');
        a.href = url
        a.download = fileName;//修改的文件名
        a.click()
    }
    x.send();
		}
</script>

版权声明:本文为Ultra_Tiga原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。