【发布时间】:2015-02-04 06:27:54
【问题描述】:
我尝试了几种不同的选择,其中很多我都忘记了。我正在发出 AJAX 请求,响应为Content-Type: image/png,内容为实际图像。
我非常希望显示图像,但似乎没有什么能按我想要的方式工作:
// imgdata contains a string that looks like this: "�PNG..."
var img = document.createElement('img');
// no good
img.src = 'data:image/png;base64,' + btoa(unescape(encodeURIComponent(data)));
// also no good
img.src = 'data:image/png;base64,' + btoa(encodeURIComponent(data));
// also no good
img.src = 'data:image/png;base64,' + btoa($.map(d, function(x){ return x.charCodeAt(0); }))
我尝试了其他一些方法,但仍然没有骰子。
在 Javascript 中是否有任何简单(甚至复杂)的方法可以做到这一点?
【问题讨论】:
-
@Sparkup 涉及的 canvas 元素 不 只是 Javascript。对于 IE,它是 only supported as far back as 9。如果您必须支持 8(或更早),该解决方案将无法正常工作。
-
看来
toDatadoesn't always work -
另一种解决方案是使用
FileReader,它的支持更差。 -
好的,好像还没有回答,很抱歉。但是,我通过添加答案使自己变得有用:)
标签: javascript base64