我目前正在执行以下操作以在 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/