base64图片的前缀是可以随便修改的吗?

图片转成 base64 后前缀为 data:image/jpg;base64, 这个前缀 image/ 后的图片类型是可以随便定义的吗?

修改成 data:image/;base64, 或 data:image/png;base64, 或 data:;base64, 并不影响图片的显示。

回复
阅读 9.5k
2 个回答

文件的内容是什么,和文件的标记成什么,二者并不相干。

你就好比你本地磁盘里有个 image.jpg,你把它后缀名强行改成 image.txt,文件内容本身是没变化的,你把这个文件拖到图片浏览器里照样能打开,因为它看的不是后缀名是啥,而是看文件流开头表示文件类型的几个字节值是啥。

DataURL 同理。

不过,之所以要有文件标记,一是为了方便人眼去识别,二是为了方便程序去处理。如果你改变了这种标记,既可能对健壮性比较好的程序没有任何影响,也可能对另一些依赖此标记的程序造成不可知的影响。

理论上对于浏览器来说,只要遵循 RFC 关于 MIME 的定义,image/* 都会尝试以图片的方式来加载,但不同图片格式是有不同的解码器的,健壮性强的可能能正确读取,健壮性差的就识别不了了,这都是有可能的,并没有什么标准可言。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏