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(); }
注:在同域的情况下测试通知哦,不同域或者较复杂的情况暂时没有测试哦。
参考:
道法自然