csdnFc1123 2015-07-20 01:33 采纳率: 37.5%
浏览 30738
已采纳

用Js将图片转为base64字符串

如题,前台使用js将file表单选中的图片转换为base64字符串,请问该怎么做?
图片说明
这是我在网上找的相关代码,使用firefox调试,每次运行到img.onload就退出去了,进不了function,不知道是哪里有问题,还是压根就写错了。请好心人指点,先谢谢了!

  • 写回答

5条回答 默认 最新

  • Go 旅城通票 2015-07-20 01:46
    关注

    bbb是file丢下,没有onload事件,改为onchagne,用HTML5的FileReader对象就可以转为base64了,不需要canvas

    而且你bbb已经存在,不需要再append了。。如果是客户端图片预览,看这个: javascript客户端图片预览,兼容最新firefox,chrome和IE11

         img.onchange = function () {
            var oFReader = new FileReader();
            oFReader.readAsDataURL(this.files[0]);
            oFReader.onload = function (oFREvent) {
                alert(oFREvent.target.result);
            };
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • csdnFc1123 2015-07-20 02:37
    关注

    问题已经解决了,谢谢!

    评论
  • save4me 2015-07-20 03:01
    关注

    你找到的网上的代码原先是绑定图片元素的,而不是file类型的Input元素吧?图片元素有onload事件,在图片加载到浏览器的时候触发。file类型的input你绑定onchange事件。
    类似楼上的解释,可以参考Image convert to Base64,上面有纯js和jQuery的实现示例代码。

    评论
  • save4me 2015-07-20 15:54
    关注

    IE10支持html5的FileReader 。你可以试试开源项目A FileReader polyfill for Internet Explore and Safari using Flash,通过Flash和jQuery来模拟。

    评论
  • 小妮子0408 2016-01-15 02:56
    关注

    请问IE8上,怎么转base64?

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI
  • ¥60 提问一下周期性信信号的问题
  • ¥15 jtag连接不上fpga怎么办