• js中的blob,图片base64URL,file之间的关系


    js的base64编码和解码

    英文是这样的:
    //
    atob() 将base64解码 // btoa() 将字符串转码为base64 var str = 'javascript'; window.btoa(str) //转码结果 "amF2YXNjcmlwdA==" window.atob("amF2YXNjcmlwdA==") //解码结果 "javascript"



    中文需要特殊一下。需要用到转码
    encodeURIComponent 和 decodeURIComponent

    console.log(window.btoa(encodeURIComponent("哈哈")))
    console.log(decodeURIComponent(window.atob("JUU1JTkzJTg4JUU1JTkzJTg4")))
    JUU1JTkzJTg4JUU1JTkzJTg4
    哈哈

    base64URL 转 blob 对象,文件上传 

    /** 
    * base64 转 blob 对象,文件上传 
     * 转载自:http://blog.csdn.net/hsany330/article/details/52575459 
     * @param dataURI 
     * @returns {Blob} 
    *
    */ function dataURItoBlob(dataURI) { var byteString = atob(dataURI.split(',')[1]); var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } return new Blob([ab], {type: mimeString}); }

    获取file对象 ,获取base64URL

    var file=$("input[name='file']")[0];
    console.log(file.files[0])
    
    let reader = new FileReader();
    reader.readAsDataURL (file1);
    //reader对象的result属性存储流读取的数据
    '<img src="' + reader.result + '" alt=""/>'
    console.log(reader.result) // 打印出转换后的base64
  • 相关阅读:
    相关书籍下载2
    神奇的null和undefined
    相关书籍下载1
    微信小程序之for循环
    渐变(Gradients)
    模拟今日头条顶部导航菜单
    网格布局之相关特性
    网格布局之合并单元格
    网格布局
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/9545315.html
Copyright © 2020-2023  润新知