博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 图片转换为base64
阅读量:5020 次
发布时间:2019-06-12

本文共 995 字,大约阅读时间需要 3 分钟。

<input id="file" type="file">
<img id="img" style="max-height: 300px;">
<textarea id="textarea" style="width: 100%;height: 300px;"></textarea>
<script>
$("#file").change(function () {
  run(this, function (data) {
    $('#img').attr('src', data);
    $('#textarea').val(data);
  });
});
function run(input_file, get_data) {
/*input_file:文件按钮对象*/
/*get_data: 转换成功后执行的方法*/
if (typeof (FileReader) === 'undefined') {
  alert("抱歉,你的浏览器不支持 FileReader,不能将图片转换为Base64,请使用现代浏览器操作!");
} else {
try {
  /*图片转Base64 核心代码*/
  var file = input_file.files[0];
  //这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件
  if (!/image\/\w+/.test(file.type)) {
    alert("请确保文件为图像类型");
    return false;
  }
  var reader = new FileReader();
  reader.onload = function () {
    get_data(this.result);
  }
  reader.readAsDataURL(file);
  } catch (e) {
    alert('图片转Base64出错啦!' + e.toString())
  }
}
}
</script>
 
 
关于FileReader资料:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader

转载于:https://www.cnblogs.com/liuq1991/p/7890901.html

你可能感兴趣的文章
React Native(五)——获取设备信息react-native-device-info
查看>>
软件工程和计算机科学的区别
查看>>
[转载]JS面向对象编程学习
查看>>
radialLine 径向线生成器
查看>>
画注释
查看>>
Java并发多线程 - 并发工具类JUC
查看>>
pygame.error: Couldn't open images/ship.bmp
查看>>
Delphi全局勾子和局部勾子
查看>>
获取span里面的值(特殊情况下 )
查看>>
HDU - 1059 - Dividing
查看>>
用户列表案例
查看>>
win10安装docker踩过的坑
查看>>
洛谷P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 状压动归
查看>>
RabbitMQ基础知识
查看>>
C语言 · x的x次幂结果为10
查看>>
typeerror $.ajax is not a function
查看>>
MongoDB数据库的备份和恢复
查看>>
Ajax 完整教程 (转)
查看>>
Android使用AIDL跨进程通信
查看>>
iOS CAShapeLayer、CADisplayLink 实现波浪动画效果
查看>>