vue 文件url, 以中文的名称下载。

上传文件的时候,一般会将文件名进行修改,以保证统一不重名的效果。

那么下载的时候,也会是一串。比如:

 

 这样不太友好,所以得下载的时候重命名下。

//以中文名的方式下载。
  function downloadtpl() {
downladTplfile(settings.fileurl, settings.filename); } function downladTplfile(url, filename) { getBlob(url).then((blob)
=> { DownloadItem(blob, filename); }); } function getBlob(url) { return new Promise((resolve) => { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = () => { if (xhr.status === 200) { resolve(xhr.response); } }; xhr.send(); }); } function DownloadItem(blob, fileName) { let link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = fileName; link.click(); }

 

注:在同域的情况下测试通知哦,不同域或者较复杂的情况暂时没有测试哦。

 

参考:

https://www.cnblogs.com/qingfengyuan/p/15919785.html

https://blog.csdn.net/pqj222/article/details/102628834

posted @ 2022-11-27 15:57  jiduoduo  阅读(584)  评论(0编辑  收藏  举报