本地与在线图片转Base64及图片预览

本地与在线图片转Base64及图片预览

查看效果:http://sandbox.runjs.cn/show/tgvbo9nq

 

本地图片转Base64(从而可以预览图片):

function localImgLoad() {
    var src = this.files[0];
    var self = $(this);
    var read = new FileReader();
    read.onload = function(e) {
        var html = "<img src=" + e.target.result + " alt='' />";
        self.parent().append(html);
        document.getElementById('localBase64StrContainer').value = e.target.result;
    }
    read.readAsDataURL(src)
};

        <div>
            本地图片预览(本地图片转Base64):
            <input type="file" onchange="localImgLoad.call(this)"/>
            <br/>
            <textarea id="localBase64StrContainer" cols=50 rows=6>
            </textarea>
            <br/>
        </div>
        <br/>

 

在线图片转Base64

function convertImgToBase64(url, callback, outputFormat) {
    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(outputFormat || 'image/jpg');
        callback.call(this, dataURL);
        //alert(this);
        canvas = null;
    };
    img.src = url;
}

function onlineButtonGetImg(imgUrl) {
    convertImgToBase64(imgUrl,
    function(base64Img) {
        document.getElementById('onlineBase64StrContainer').value = base64Img;
        $('#onlineBase64StrContainer').parent().append("<img src=" + base64Img + " />");
    },'image/png')
}

        <div>
            在线图片转base64:
            <br/>
            <br/>
            <input type="text" id="onlineUrl" size=30 value="http://sandbox.runjs.cn/uploads/rs/61/0dvnfbe3/081408127534068.png"/>
            <button onclick="onlineButtonGetImg(document.getElementById('onlineUrl').value)">
                转换
            </button>
            <br/>
            <br/>
            <textarea id="onlineBase64StrContainer"  cols=50 rows=6>
            </textarea>
            <br/>
        </div>

 

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

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

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


相关推荐

  • python的官网下载安装教程

    python的官网下载安装教程python的官网下载安装教程1、在python的官网下载python对应版本:https://www.python.org/downloads/windows/打开链接如下图,版本会一直更新,选择任意一个适合自己电脑的版本就好2、安装1)双击运行下载好的python-3.7.0.exe文件2)不改变默认进行Next下一步3)选择一个自己喜欢的安装位置点击Install…

    2022年6月14日
    52
  • mysql中的时间字段用什么数据类型

    mysql中的时间字段用什么数据类型Mysql中用来存储日期的数据类型有三种:Date、Datetime、TimestampDate数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。按照标准的SQL,不允许其他格式。在UPDATE表达式以及SELECT语句的WHERE子句中应使用该格式。例如:mysql> SELECT * FROM tbl_nameWHERE d…

    2022年6月13日
    55
  • Python中优先级_低优先级队列不止5把

    Python中优先级_低优先级队列不止5把优先级队列是一种容器型数据结构,它能管理一队记录,并按照排序字段(例如一个数字类型的权重值)为其排序。由于是排序的,所以在优先级队列中你可以快速获取到最大的和最小的值。你可以认为优先级队列是一种修改过的普通队列:普通队列依据记录插入的时间来获取下一个记录,优先级队列依据优先级来获取下一个记录,而优先级取决于排序字段的值。优先级队列经常用来解决调度问题,比如给更紧急的任务更高的优先级。我们以操作系统…

    2022年9月23日
    0
  • UML的9种常用图与建模工具详解「建议收藏」

    UML的9种常用图与建模工具详解「建议收藏」UML即UnifiedModelLanguage,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便

    2022年7月4日
    99
  • 安装虚拟机蓝屏解决方法_vmware10虚拟机安装教程

    安装虚拟机蓝屏解决方法_vmware10虚拟机安装教程安装虚拟机VMwareWorkstation下载安装虚拟机16pro官网下载https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html选择你需要的版本获取虚拟机密钥下面三个选一个就好ZF3R0-FHED2-M80TY-8QYGC-NPKYFYF390-0HF8P-M81RQ-2DXQE-M2UT6ZF71R-DMX85-08DQY-8YMNC-PPHV8linu下载地址下载

    2022年9月14日
    0
  • python激活码2021 3_通用破解码

    python激活码2021 3_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    182

发表回复

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

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