laravel+vue+vuetify(下载图片到本地)

 
downloadByBlob(url,name) {
                let image = new Image()
                image.setAttribute('crossOrigin', 'anonymous')  //处理跨域 可以在浏览器安装cors插件
                image.src = url
                image.onload = () => {
                    let canvas = document.createElement('canvas')
                    canvas.width = image.width
                    canvas.height = image.height
                    let ctx = canvas.getContext('2d')
                    ctx.drawImage(image, 0, 0, image.width, image.height)
                    canvas.toBlob((blob) => {    //图片的blob对象
                        let url = URL.createObjectURL(blob)  //将blob对象转为url
                        this.download(url,name)
                        // 用完释放URL对象
                        URL.revokeObjectURL(url)
                    })
                }
            },
            download(href, name) {
            let eleLink = document.createElement('a')
            eleLink.download = name  //下载的文件名
            eleLink.href = href   //文件流
            eleLink.click()  //单击下载
            eleLink.remove()  //移除
            },
    //remoteSelected选中的图片的数据(后台返回的数据),循环下载
           async writeImage(remoteSelected){
                this.loading = true;
                for(var key in remoteSelected) {
       let url = remoteSelected[key]['url']
       let    name = remoteSelected[key]['name']
                    await this.downloadByBlob(url,name);

 

                }
            }

 

posted @   小林不会飞  阅读(842)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示