admin 管理员组文章数量: 1184232
一、问题
点击下载按钮,实现文件的下载,而不是新建窗口打开文件
用的 download.js 实现,调用时传了三个参数:
// 引用 dowload.js 文件import download from'@/lib/dowload.js'// 点击 button 时,调用download(url, name, docType);这样可以下载文件,文件名也对。
找到下载好的文件,打开后,下载的文件内容和上传的文件内容不对应,所有的内容都编程url地址
二、经过
download.js 三个参数都传,第一个不应该传 url,看官网上,三个都传的话,第一个参数应为包含快速到ba文件内容的Blob、File、String或dataURL.
官网如何识别 url?传参时,只有一个参数,即:只有url,没有name等参数
// 源码片段
url =!strFileName &&!strMimeType && payload,考虑到项目上有好多地方调用时都是传的三个参数,换其他方式更费时费力
三、结果
直接改了源码
// url = !strFileName && !strMimeType && payload 改为
url = payload,// 改完后,js文件就可以进入 if(url && url.length< 2048){ 四、如果url中有中文的字符串
// 控制台打印 anchor.href 、 url 后会发现,两个String不一样了// 此处的判断不能通过,导致文件虽然成功下载了,但不能正常打开if(anchor.href.indexOf(url)!==-1){我直接选择了注释这个判断,如果有其他方法,欢迎讨论~
版权声明:本文标题:解读download.js的URL处理功能:实现文件与网页内容快速加载 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1771214075a3542061.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论