javascript - 如何剥离数据 :image part from a base64 string of any image type in Javascript

标签 javascript string image base64

我目前正在执行以下操作以在 Javascript 中解码 base64 图像:

    var strImage = "";
    strImage = strToReplace.replace("data:image/jpeg;base64,", "");
    strImage = strToReplace.replace("data:image/png;base64,", "");
    strImage = strToReplace.replace("data:image/gif;base64,", "");
    strImage = strToReplace.replace("data:image/bmp;base64,", "");

正如您在上面看到的,我们接受四种最标准的图像类型(jpeg、png、gif、bmp);

但是,其中一些图像非常大,用替换扫描每张图像 4-5 次似乎是一种可怕的浪费,而且效率极低。

有没有一种方法可以可靠地一次性去除 base64 图像字符串的 data:image 部分?

也许通过检测字符串中的第一个逗号?

提前致谢。

最佳答案

您可以使用正则表达式:

var strImage = strToReplace.replace(/^data:image\/[a-z]+;base64,/, "");

  • ^ 表示在字符串的开头
  • data:image 表示data:image
  • \/ 表示/
  • [a-z]+ 表示a和z之间的一个或多个字符
  • ;base64, 表示;base64,

关于javascript - 如何剥离数据 :image part from a base64 string of any image type in Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633061/

相关文章:

javascript - 正则表达式 - 避免表达式中出现字符串

laravel - 使用 HTML Helper 创建图像链接

.net - Compact Framework - Image.FromStream (Stream, Boolean, Boolean) 的任何实现?

javascript - 如何使用append()在内容 block 之前和之后放置<div>和</div>?

javascript - 在 location.replace 之后等待页面加载

javascript - echo'ing 到 AJAX 回调后执行 PHP

css - 如何在仅使用 CSS 并支持视网膜显示的响应式网格中居中图像?

javascript - 倒计时 javascript 与 php

java - 快速文本搜索

c++ - 如何让 cout 缓冲区在 ubuntu 上刷新