图片转成 base64 后前缀为 data:image/jpg;base64, 这个前缀 image/ 后的图片类型是可以随便定义的吗?
修改成 data:image/;base64, 或 data:image/png;base64, 或 data:;base64, 并不影响图片的显示。
图片转成 base64 后前缀为 data:image/jpg;base64, 这个前缀 image/ 后的图片类型是可以随便定义的吗?
修改成 data:image/;base64, 或 data:image/png;base64, 或 data:;base64, 并不影响图片的显示。
10 回答7.4k 阅读
6 回答4.1k 阅读✓ 已解决
14 回答5.3k 阅读
11 回答2.7k 阅读✓ 已解决
9 回答3.2k 阅读
3 回答687 阅读✓ 已解决
4 回答1.8k 阅读✓ 已解决
文件的内容是什么,和文件的标记成什么,二者并不相干。
你就好比你本地磁盘里有个
image.jpg
,你把它后缀名强行改成image.txt
,文件内容本身是没变化的,你把这个文件拖到图片浏览器里照样能打开,因为它看的不是后缀名是啥,而是看文件流开头表示文件类型的几个字节值是啥。DataURL 同理。
不过,之所以要有文件标记,一是为了方便人眼去识别,二是为了方便程序去处理。如果你改变了这种标记,既可能对健壮性比较好的程序没有任何影响,也可能对另一些依赖此标记的程序造成不可知的影响。
理论上对于浏览器来说,只要遵循 RFC 关于 MIME 的定义,
image/*
都会尝试以图片的方式来加载,但不同图片格式是有不同的解码器的,健壮性强的可能能正确读取,健壮性差的就识别不了了,这都是有可能的,并没有什么标准可言。