【问题标题】:Setting <img> src to Base64-encoded image with Javascript is failing使用 Javascript 将 <img> src 设置为 Base64 编码的图像失败
【发布时间】:2011-12-21 19:07:58
【问题描述】:

我正在尝试使用 JavaScript 设置 &lt;img&gt; src,但图像在视觉上缺失;它是空的。运行此代码后的图像 URL 以 "http://127.0.0.1:8080/%27" 开头(我什至不知道这是从哪里来的)而不是 "data: image/png"。变量mySrc 设置为Base64 编码的图像。

document.getElementById(id).src="'"+mySrc+"'";

这是 URL 设置后的样子:

http://127.0.0.1:8080/%27data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4RMNRXhpZgAASUkqAAgAAAAQAAABAwABAAAAuAsAAAEBAwABAAAA9gkAAAIBAwADAAAAzgAAAAMBAwABAAAAAQAAAAYBAwABAAAAAgAAAA4BAgAfAAAA1AAAABIBAwABAAAAAAAAABUBAwABAAAAAwAAABoBBQABAAAA9AAAABsBBQABAAAA/AAAABwBAwABAAAAAQAAACgBAwABAAAAAgAAADEBAgALAAAABAEAADIBAgAUAAAAEAEAADsBAgAEAAAAUm9uAGmHBAABAAAAJAEAAHwBAAAIAAgACABJbWFnZSBjb252ZXJ0ZWQgdXNpbmcgaWZmdG9hbnkAAMDGLQAQJwAAwMYtABAnAABQaWNhc2EgMy4wAAAyMDA4OjA2OjA2IDEwOjM2OjEyAAQAAaADAAEAAAD...

【问题讨论】:

  • 不看更多代码就无法知道,例如mySrc是如何定义和填充的。

标签: javascript base64


【解决方案1】:

你应该设置src 不带撇号:

document.getElementById(id).src=mySrc;

【讨论】:

  • 但是根本没有宿主文本;我检查了:(
  • 究竟包含什么mySrc?声明在哪里?
  • 这是我转换为base64并将base64放入mySrc var中的图像;它显示得很好,但如果我用 JS 设置 src,正如我在问题中展示的那样,图像信息以 127.0.0.1:8080/%27 开头,这使我的图像“不可见”:( 所以我认为 127.0.0.1:8080/%27 来自哪里,因为它不允许显示图像吗?
  • 感谢您的通知,我去掉了撇号,一切正常:)
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2019-09-02
  • 1970-01-01
  • 2019-12-21
  • 2020-11-29
  • 1970-01-01
  • 2015-12-05
相关资源
最近更新 更多