JS 图片转Base64

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 图片转Base64相关的知识,希望对你有一定的参考价值。

JS 图片转Base64

有时候需要向html中插入一张图片,可苦于上线后找不到一个合适的网盘来存储这些图片,有没有一种办法能将图片转换成文字,然后直接插入HTML中呢,通过Base64编码就可以解决这个问题。

废话不多说直接上代码,不知道什么是Base64的自行百度

代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JS 图片转Base64</title>
  6. <script src="//cdn.bootcss.com/jquery/2.2.0/jquery.min.js"></script>
  7. <script>
  8. function run(input_file,get_data){
  9. /*input_file:文件按钮对象*/
  10. /*get_data: 转换成功后执行的方法*/
  11. if ( typeof(FileReader) === ‘undefined‘ ){
  12. alert("抱歉,你的浏览器不支持 FileReader,不能将图片转换为Base64,请使用现代浏览器操作!");
  13. } else {
  14. try{
  15. /*图片转Base64 核心代码*/
  16. var file = input_file.files[0];
  17. //这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件
  18. if(!/image\/\w+/.test(file.type)){
  19. alert("请确保文件为图像类型");
  20. return false;
  21. }
  22. var reader = new FileReader();
  23. reader.onload = function(){
  24. get_data(this.result);
  25. }
  26. reader.readAsDataURL(file);
  27. }catch (e){
  28. alert(‘图片转Base64出错啦!‘+ e.toString())
  29. }
  30. }
  31. }
  32. $(function () {
  33. $("input").change(function () {
  34. run(this, function (data) {
  35. $(‘img‘).attr(‘src‘,data);
  36. $(‘textarea‘).val(data);
  37. });
  38. });
  39. });
  40. </script>
  41. </head>
  42. <body>
  43. <input type="file">
  44. <hr>
  45. <img style="max-height: 300px;">
  46. <hr>
  47. <textarea style="display: block; width: 100%;height: 30em;"></textarea>
  48. </body>
  49. </html>

Base64图片的使用

Base64格式
data:[][;charset=][;base64],
Base64 在CSS中的使用
.demoImg{ background-image: url("data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL...."); }
Base64 在HTML中的使用
<img width="40" height="30" src="data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL...." />

以上是关于JS 图片转Base64的主要内容,如果未能解决你的问题,请参考以下文章

js图片转base64

js中图片base64格式转文件对象

vue、JS图片url转base64

JS input file 转base64 JS图片预览

uni-app 中图片转 base64 以及 base64 转图片方式,超简单,超好用的图片转换工具,你值得拥有它。

mui开发app之js将base64转图片文件