首页 > 代码库 > 使用文件流下载文件,并且修改文件的名字
使用文件流下载文件,并且修改文件的名字
最近在搞一个项目,里面有一个文件下载的内容,但是万恶的产品提了一个要自定义修改文件名的需求,一开始后台不想改,让前端修改(这简直是不可理喻,最后还是后台改了),不过经过努力,我还是找到了方法去解决。
这里使用的是文件流的方式,就是先把文件从服务器下载下来,前端再通过blob去修改文件名。
代码如下:
fetch(‘/api/fs/download2/internal/‘ + item.att[0].url).then(res => res.blob().then(blob => { let a = document.createElement(‘a‘), url = window.URL.createObjectURL(blob), filename = item.title a.href = url a.download = filename a.click() window.URL.revokeObjectURL(url) }))
这种方式就能解决前端修改文件名的需求,但是有个缺陷,就是一定要等文件内容全部下载下来了才能处理文件,这就是为什么我一直觉得应该是后台去完成这个需求的原因
使用文件流下载文件,并且修改文件的名字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。