JS 图片转Base64

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

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

JS 图片转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. ];
  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; height: 8em; min-width:8em;">
  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...." />

最新文章

  1. (转)实现DataList的分页 新增列
  2. 修正 Memo 設定為 ReadOnly 後, 無法有複製的功能
  3. WebSocket 浅析
  4. OC - 6.block与protocol
  5. 计算app内部缓存文件大小
  6. 航频卫士APP截图
  7. swift论坛正式上线
  8. jquery mobile左右滑动切换页面
  9. Java小知识点学习--------数组和位运算小知识点
  10. JSON工具类
  11. Java实现单向链表基本功能
  12. php使用cURL上传图片
  13. python爬虫-execjs使用
  14. 获取表单提交MVC错误信息
  15. 关于Cocos2d-x中addchild和removeChild方法的参数的解析
  16. 不止是联网!教你玩转PC自带Wi-Fi网卡
  17. RT-thread内核之线程调度算法
  18. BZOJ3156: 防御准备 【斜率优化dp】
  19. 消除float浮动的影响
  20. BZOJ 1257 [CQOI2007]余数之和sum(分块)

热门文章

  1. Git 分支 - 分支的新建
  2. (ubuntu) pip install scandir 时出现错误 fatal error: Python.h: No such file or directory
  3. 【JBPM4】判断节点decision 方法2 condition
  4. javascript高程笔记:逻辑与和逻辑或
  5. 选择排序(SelectionSort)
  6. 归并排序(MergeSort)
  7. LOJ #6283. 数列分块入门 7-分块(区间乘法、区间加法、单点查询)
  8. 洛谷P4587 [FJOI2016]神秘数(主席树)
  9. 33、Flask实战第33天:sweetalert提示框
  10. response (响应对象)