介绍

最近跟后端调试接口时上传附件(包含imgxlsx)等文件类型,需要在下载到本地时展示原名称。

实现方法

首先需要在vue的methods内定义方法

downloadByBlob(row){let {name,cdn,type}= row; //获取数据信息if(type==1){     //图片let image = new Image(); //创建图片image.setAttribute('crossOrigin', 'anonymous'); //配置图片属性image.src = cdnimage.onload = () => {let canvas = document.createElement('canvas')canvas.width = image.widthcanvas.height = image.heightlet ctx = canvas.getContext('2d')ctx.drawImage(image, 0, 0, image.width, image.height)canvas.toBlob((blob) => {let url = URL.createObjectURL(blob)this.download(url,name)// 用完释放URL对象URL.revokeObjectURL(url)})}}else if(type==4){ //xlsx文档类this.getBlob(cdn).then(blob=>{const link = document.createElement('a')const body = document.querySelector('body')link.href = window.URL.createObjectURL(blob)link.download = namelink.style.display = 'none'body.appendChild(link)link.click()body.removeChild(link)window.URL.revokeObjectURL(link.href)})}},
//清除download(href, name) {let eleLink = document.createElement('a')eleLink.download = nameeleLink.href = hrefeleLink.click()eleLink.remove()},
//下载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()})}
 download(href, name) {let eleLink = document.createElement('a')eleLink.download = nameeleLink.href = hrefeleLink.click()eleLink.remove()}

这样我们就完成了前端下载图片文档的操作。

后话

希望对于大家的面试有所帮助,如果你还有想补充或者说明的欢迎留言评论。

vue根据URL下载文件并重命名相关推荐

  1. php下载文件并重命名,通过php下载文件并重命名

    通过php下载文件并重命名 $filename = dirname(__FILE__) . '/oldfilename.jpg'; $out_filename = 'newfilename.jpg'; ...

  2. Vue 通过url下载文件并对下载的文件更名

    Vue 通过url下载文件并对下载的文件更名 HTML如下: <div @click="downloadFile(url,name)">点击下载</div> ...

  3. Vue 通过url下载文件并修改文件名称

    封装一个通用的方法 在需要使用的页面引入 /*** 通过url下载文件并对下载的文件更名* @param {*} url * @param {*} filename */ export const d ...

  4. Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。

    URL文件地址下载方法 一.正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性 //文件下载downFile() {if ('download' in document. ...

  5. vue下载文件并重命名

    vue的项目,需要做一个文件上传下载的功能.上传是OK的,然鹅因为上传到minio的时候,使用了随机数命名,导致文件名称就变成了一大串字符.被客户驳回来了.那好吧,就加一个重命名功能好了. 不过这个项 ...

  6. 微信小程序下载文件并重命名,并在微信可以打开、保存并转发给好友

    在开发中,遇到一个需求,需要预览.下载并保存PDF文件,实现文件的重命名,可以转发给微信好友 开发代码如下 download() {// 判断文件目录是否存在, wx.env.USER_DATA_PA ...

  7. Php7实现文件下载,PHP7 SFTP下载文件并重命名该下载文件

    SFTP类 '',//sftp服务器地址 'port' => ,//sftp服务器端口 'username' => '', //sftp服务器用户名 'password' => '' ...

  8. 批量下载文件并重命名

    num<文件数量+1 d中填写存储路径 修改newName改变命名规则 import os import requestsnum = 1 while num < 170:url = 'ht ...

  9. curl -O 下载文件 curl -o 下载文件并重命名

    默认使用URL 的最后部分当作文件名 curl -O https://httpbin.org/image/png 红色框就是默认的下载路径 curl -o image.jpg https://http ...

最新文章

  1. nginx 反向代理和负载均衡
  2. Flink在美团的实践与应用
  3. Node.js链式回调
  4. Nginx 搭建图片服务器
  5. HDU2795 Billboard
  6. mysql 批量建表_mysql 如何实现循环批量插入?
  7. linux 游戏 黑白,黑白迭代官方版游戏-黑白迭代下载v0.5-Linux公社
  8. oracle时间类型
  9. C#中如何调用动态链接库DLL
  10. luoguP4709 信息传递 置换 + 多项式exp
  11. 经典快速制作套打证书模板(xls)大全
  12. 计算机内打不开小米路由器,小米路由器登录界面打不开怎么办?
  13. systemd 简介
  14. Python - 返回 1:n 中所有可能的 k 个数的组合
  15. Qt图形视图框架--图元总结
  16. Android评论工具类,实现QQ空间文字评论效果
  17. php 图片生成封面,用ps简单制作一张漂亮的封面
  18. linux 键盘记录,Linux键盘记录sh2log keylogger notes
  19. 微软正式宣布 Win10 死刑,Win11 LTSC要来了
  20. 基于SpringBoot+Mybatis框架的商城秒杀项目总结

热门文章

  1. jsliang 求职系列 - 40 - CSS 移动端
  2. 记录一次H3C交换机的配置
  3. ArcMap基础操作——去除影像背景值
  4. vmware 下ubuntu共享主机文件
  5. 【模拟电子技术基础】本章讨论问题答案2
  6. vue解决火狐浏览器滚动条问题
  7. 层次分析法(AHP)基础概念整理+步骤总结
  8. ICASSP 2022 | 前沿音视频成果分享:基于可变形卷积的压缩视频质量增强网络
  9. Python str strip方法
  10. Linux系统---Discuz论坛网站创建部署