VUE中文件的下载和上传

VUE中文件的下载和上传,其实主要是上传,上传是有组件可以去写的,但是下载就直接使用a标签就好。a标签写的时候注意拐个弯,使用创建的写法。其他的方法注意下文立介绍,还有一个思路是使用下载插件。后端要注意头部要加东西。
这里还需要整理一下,有点乱

https://www.cnblogs.com/purple1/p/9106346.html

https://www.cnblogs.com/zhangycun/p/10287457.html

文件下载写成A标签格式,但是部分格式(jpg、txt)等根据浏览器属性会直接打开,设置download属性,可以使文件不直接预览而是弹出另存为弹窗。但是在IE上不支持download属性,那么IE前台怎么处理这个问题,必须通过后台代码处理
另外可以使用请求的方式下载
https://www.jianshu.com/p/a81c68c15fbd
也可以使用表单的方式下载

这个是二进制流文件,没有url的时候的解决方案

https://www.jb51.net/article/144771.htm

重要的地方
https://www.cnblogs.com/zjdxr-up/p/10145565.html


不推荐使用window.location.href这种方式来下载文件,会引起不必要的麻烦。 在项目里通常在document中添加一个,下载完再移除就可以了。 这里有个示意代码,typescript写的。


这里提到了部分问题,解决方式是在response头部加上点东西download
https://ask.csdn.net/questions/324245

  let blob: Blob = new Blob([data], {
            type: "application/msword"
        });
        let url: string = URL.createObjectURL(blob);
        let link: HTMLElement = document.createElement('a');
        link.setAttribute("href", url);
        link.setAttribute("download", `word.docx`);
        link.style.visibility = 'hidden';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值