在图像的src标记中使用URL中的Base64字符串

Tho*_*idt 6 html base64 image

我有一个返回图像的base64版本的服务.现在我想在一个src标签中使用base64字符串img.该服务提供base64版本http://localhost:8080/file/301/base64.

base64字符串如下所示:

data:image/gif;base64,iVBORw0KGgo ...
Run Code Online (Sandbox Code Playgroud)

img页面上的标签目前如下所示:

<img alt="" src="http://localhost:8080/file/301/base64" style="height:836px; width:592px">
Run Code Online (Sandbox Code Playgroud)

有没有办法让这个运行?

cla*_*123 9

它不起作用,因为您正在处理具有数据URL字符串的页面,就好像它只是另一种类型的外部可链接图像资产.不幸的是,链接到外部资产适用于图像文件,但数据URL是外部链接的替代方法,因此不能以相同的方式工作.

简而言之,要显示使用数据URL字符串的图像,您需要将实际数据URL字符串作为src=值,例如:

<img alt="" src="data:image/gif;base64,iVBORw0KGgo ...  " style="height:836px; width:592px">
Run Code Online (Sandbox Code Playgroud)

例子

来自Masinter的示例HTML,1998 RFC 2397 - "数据"URL方案:

<IMG SRC="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH hhx4dbgYKAAA7" ALT="Larry">
Run Code Online (Sandbox Code Playgroud)


won*_*ng2 5

数据 URI是一种 URI 方案,而不是图像文件格式。当您使用 时src="http://...",方案是http,而不是data,浏览器期望响应是图像,这意味着响应正文应该是图像的字节,而不是base64版本。

所以你可以: 1.只从服务器返回图像的字节而不是base64 2.使用ajax从服务器加载base64版本,然后用它设置图像的src属性。