js 通过图片链接获取file对象

news/2024/11/16 11:33:13/

直接看代码

imgUrlToFile(url) {var self = this;var imgLink = url;var tempImage = new Image();//如果图片url是网络url,要加下一句代码tempImage.crossOrigin = "*";//跨域不可用tempImage.onload = function() {var base64 = self.getBase64Image(tempImage);//console.log(base64);imgblob = self.base64toBlob(base64);//获取原文件名称var filename = self.getFileName(self.ruleForm.coverUrl);self.ruleForm.coverFile = self.blobToFile(imgblob, filename);};tempImage.src = imgLink;
},
getBase64Image(img) {//通过canvas绘制图片转base64var canvas = document.createElement("canvas");canvas.width = img.width;canvas.height = img.height;var ctx = canvas.getContext("2d");ctx.drawImage(img, 0, 0, img.width, img.height);var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();var dataURL = canvas.toDataURL("image/" + ext);return dataURL;
},
base64toBlob(base64) {//base64转Bloblet arr = base64.split(","),mime = arr[0].match(/:(.*?);/)[1],bstr = atob(arr[1]),n = bstr.length,u8arr = new Uint8Array(n);while (n--) {u8arr[n] = bstr.charCodeAt(n);}return new Blob([u8arr], { type: mime });
},
blobToFile(blob, filename) {//Blob转file对象// edge浏览器不支持new File对象,所以用以下方法兼容blob.lastModifiedDate = new Date();blob.name = filename;return blob;
},
getFileName(url) {// 获取到文件名let pos = url.lastIndexOf("/"); // 查找最后一个/的位置return url.substring(pos + 1); // 截取最后一个/位置到字符长度,也就是截取文件名
},//imgUrlToFile(),调用该方法就可以得到file对象

 


http://www.ppmy.cn/news/788629.html

相关文章

那要怎么找到图片URL呢

图片 URL 可以通过以下步骤找到: 右键点击图片并选择“查看图片”。在新标签页中右键点击图片并选择“复制图片地址”。将复制的图片地址粘贴到地址栏中。 请注意,有些图片可能是动态生成的,因此不能通过上述方法获取它们的 URL。在这种情况下…

Android获取系统相册图片选中地址,获取手机中的所有图片地址自定义相册

一、获取手机中的值 1.首先在使用读写sd卡权限 2.获取手机中的所有图片: 注意代码中的getGalleryPhotos(getContentResolver()) 方法获取所有地址 获取所有图片地址后使用recycleview 组件构建自定义相册,recycleview的使用方式我就不多说了自己百度 …

vue中使用require动态获取图片地址

项目场景&#xff1a; 项目中根据图片不同的后缀名&#xff0c;展示不同的图片 问题描述 直接给图片的src绑定图片地址&#xff0c;图片不显示&#xff0c;使用 require(图片本地路径 地址变量 .png) 也不显示 <img :src"require(/assets/img/ item.url .png)&qu…

Java获取图片像素点数组数据

方式一&#xff1a; //方式一&#xff1a;通过getRGB()方式获得像素矩阵 public static void getPicArrayData(String path){try{BufferedImage bimg ImageIO.read(new File(path));int [][] data new int[bimg.getWidth()][bimg.getHeight()];for(int i0;i<bimg.getWidt…

Vue——如何获取动态图片地址

问题 当我们在Vue页面显示当前登录用户的头像时&#xff0c;该如何加载后端传过来的动态图片地址呢&#xff1f; 这时是固定地址&#xff0c;第一时间我们想到直接在src前加:&#xff0c;使用vue的双向数据绑定即可&#xff0c;但是试了多次没有效果&#xff0c;原来要加requ…

根据ip获取地址

php 根据ip获取地址 js方法获取用户的 ip 和 地址 获取用户的来源&#xff1a;$_SERVER[‘HTTP_REFERER’] 获取用户的 IP&#xff1a;$ip $_SERVER[“REMOTE_ADDR”]; 获取用户的地址&#xff1a; 1 > 使用淘宝API接口 function getCity(KaTeX parse error: Expecte…

js通过图片url获取图片base64编码

方法1&#xff1a;直接返回图片编码 参数url&#xff1a;图片的路径 &#xff1b;参数imgType&#xff1a;图片类型默认image/png&#xff1b;方法返回值&#xff1a;图片base64编码 function getBase64ImageUrl(url, imgType) {if(!imgType){imgType"image/png";}…

vue 组件中图片地址,图片获取

前提&#xff1a;在组件中使用引用图片&#xff0c;用于<img src> 或者 背景图片background; 当我们利用vue-cli 搭建好项目的框架&#xff0c;开始高高兴兴开发组件的时候&#xff0c;有的时候想加一张图片&#xff0c;或者 在样式中加个背景&#xff0c;会发现&…