js 图片转换base64 base64转换为file对象

js 图片转换base64 base64转换为file对象

大家好,又见面了,我是你们的朋友全栈君。

js 图片转换base64 base64转换为file对象

 

function getImgToBase64(url,callback){
   
   //将图片转换为Base64
  var canvas = document.createElement('canvas'),
    ctx = canvas.getContext('2d'),
    img = new Image;
  img.crossOrigin = 'Anonymous';
  img.onload = function(){
    canvas.height = img.height;
    canvas.width = img.width;
    ctx.drawImage(img,0,0);
    var dataURL = canvas.toDataURL('image/png');
    callback(dataURL);
    canvas = null;
  };
  img.src = url;
}

 

 

    function dataURLtoFile(dataurl, filename) {
   
   //将base64转换为文件
        var arr = dataurl.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 File([u8arr], filename, {type:mime});
    }

 

//可以将图片转换为base64

getImgToBase64('img/test.png',function(data){
   var myFile = dataURLtoFile(data,'testimgtestimgtestimg');
   console.log(myFile);
});

 

 

相关: https://www.cnblogs.com/fps2tao/p/9268380.html

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107436.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sm总线控制器找不到驱动程序_【KHGEARS钧兴谐波 | 新品】埃斯顿发布总线伺服驱动系统 ProNet Summa…「建议收藏」

    sm总线控制器找不到驱动程序_【KHGEARS钧兴谐波 | 新品】埃斯顿发布总线伺服驱动系统 ProNet Summa…「建议收藏」高工机器人CEO圈群招募中,欢迎感兴趣的朋友们加微信号:13632944360入群;添加微信时请备注单位-姓名-职务,通过审核后我们将邀请进群。2019年3月6日,以“创新设计极致表达”为主题的埃斯顿第三代运动控制解决方案产品发布会在江苏南京埃斯顿自动化总部隆重举行,埃斯顿重磅发布了新一代伺服驱动系统ProNetSumma。ProNetSumma系列驱动器可支持EtherCAT总…

    2022年5月3日
    44
  • 2021年调味品行业发展的现状_2020年调味品行业所处阶段

    2021年调味品行业发展的现状_2020年调味品行业所处阶段2021年,受到需求收缩、成本上涨、预期转弱等因素叠加的影响,调味品行业发展面临巨大挑战,多数调味品上市公司发展趋缓。一、调味品上市公司经营现状2021年,16家调味品上市公司营业收入合计为871亿元,营业收入正增长的有12家,占16家上市公司的75%,其中营业收入排名前三位的公司分别是海天味业、梅花生物和安琪酵母,营业收入分别是250亿元、228.4亿元、106.8亿元,分别同比增长9.7%、33.9%、19.5%。2021年中国调味品上市公司营业收入及同比增长资料来源:中国调

    2025年6月15日
    4
  • MATLAB语音信号处理「建议收藏」

    MATLAB语音信号处理「建议收藏」数字信号处理课设,我们使用MATLAB对语音信号进行了一系列处理,并将其所有功能集中于下图界面中:这个界面涉及功能众多,其中包括语音信号的观察分析、音色变换、AM调制解调、减抽样、加噪去噪、相频分析和幅频滤波等,最重要的是对MATLAB中函数的掌握,通过不同函数的组合实现你想要实现的功能。本篇不会给出整个界面的程序,下面会分块给出每个功能的程序,整个界面只需GUI设计界面文件…

    2022年5月26日
    45
  • java方法中的构造方法与普通方法的区别[通俗易懂]

    “java”方法中的构造方法与普通方法的区别是:一、构造方法的名字必须与定义它的类名完全相同;二、构造方法在初始化对象时自动执行;三、构造方法可以被重载;四、构造方法不能被“static”等关键字修饰。

    2022年1月17日
    65
  • nchar,char,varchar与nvarchar区别「建议收藏」

    nchar,char,varchar与nvarchar区别「建议收藏」nchar,char,varchar与nvarchar区别

    2022年4月24日
    80
  • android 系统签名

    android 系统签名最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份。   安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID在应用程序安装到设

    2022年6月21日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号