Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用XMLHttpRequest responsetext中的图像数据显示图像_Javascript_Html_Node.js - Fatal编程技术网

Javascript 使用XMLHttpRequest responsetext中的图像数据显示图像

Javascript 使用XMLHttpRequest responsetext中的图像数据显示图像,javascript,html,node.js,Javascript,Html,Node.js,我使用JavaScript从XMLHttpRequest响应文本中获取图像,并将图像src设置为: document.getElementById("img").src = "data:image/png;base64," + xhr.responseText; 从nodejs脚本中,图像的发送方式如下: var img = fs.readFileSync('image.png'); res.end(img, 'base64'); 响应文本不是base64格式,并且具有奇怪的符号: �巴布

我使用JavaScript从XMLHttpRequest响应文本中获取图像,并将图像src设置为:

document.getElementById("img").src = "data:image/png;base64," +  xhr.responseText;
从nodejs脚本中,图像的发送方式如下:

var img = fs.readFileSync('image.png');
res.end(img, 'base64');
响应文本不是base64格式,并且具有奇怪的符号:

�巴布亚新几内亚���IHDR���������,���2PLTE �������������������������@����艾岛���

我找到问题并尝试将其转换为base 64:

for (var responseText = xhr.responseText, responseTextLen = responseText.length, bin = "", i = 0; i < responseTextLen; ++i) {
    bin += String.fromCharCode(responseText.charCodeAt(i) & 255);
}
document.getElementById("img").src = "data:image/png;base64," + btoa(bin);
for(var-responseText=xhr.responseText,responseText=responseText.length,bin=”“,i=0;i
结果是:

img id=“img” src=“数据:图像/png;base64,/目前,9/f399/f39/f39/F9/F9/F9/F9/F9/F9/F9/F9/F9/F9/F9/F9/F9/F9/F9九九九九九九级A/f39/F9/F9/F9/F9/F9/F9/F9/F9/9/F9/9九九九九九九九九九九九九九九九九九九九年元元元元元九九九九九九九九九九九九九九九九九九九九级普通普通普通普通普通普通普通普通普通普通普通普通普通普通普通普通普通普通普通牛牛牛那个那个那个那个么么么么么么么么么么九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九九/f0L/f0g/SD9/QD9/QD9YFBQFWRL/0UAP0UFP1AFP1A/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/x9 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f9/9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9/QQQQQQQQQQQ9 9 9 9 9 9 9 9/9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 QQQQQQQQQ9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 39MEZ9A3L9/f39LDP9/TQLUhT9Vwf9/WIR/QZZ/RhP/SD9/f1Y/X5xKi79/f39/Wn9/Vn9/f1/ff9/f19/4/f4/4/f4/4/4/4/4/4/4/4/4/4/4/f7/7/7/9/9/8/8/8/8/8/9/9/ff8/f8/f8/f8/f8/f8/9/f8/9/8/9/9/9/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/9/9/9/8/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/Qr9fQ14PP0qQCa2J/39Txb9Pxkfc/39/WJq/Xs8/SlAJv1YA379/f39/VlMH/1O/TH9/f39RRX9Ov1sA/09/W/W/W/W/W/W/W/W/W/W/9/W/W/W/9/9/f10 10/QB5/QB5/W/W/W/W/FB5/F1FFfff5/FB5/FFFfffffff5/FB5/FB5/FFFFFfffffffffffffffffffff10/X799/X7 9/7/FFFfffffffffffffffffffffffffffffffffffffffffffffffffffff19/7/7/7/7 9 9/7 9 9 9/X7/9 9 9/7 9 9 9 9 9/7/7 7 7 7 9 9 9/7/7 7 7 7 7 7 7 7 7 7 7 7 7 7 O1Z/Tv9PwH9vCn9H/39DwQ4/T8B/Rwp/R8v/f39L/2A/XpkSv39/WFOdkL9T0z9Cf0NBwf9/f39/f39/3/3/f39/f39/f39/f39/f39/3/T9Oe/39Uv0A/f39/T9Oe/39Uv0A/f39/T9o3/39Uv0A/f39/f39/f39/f39/3/f39/3/f9/f39/3/3/3/3/3/9/3/9/f39/9/3/3/9/9/9级政府军军/f39/3/9/9/3/3/3/3/3/3/9/9级级级架构/SsO/3/19/19/19/19/19/19/19/SsO/19/19/19/19/19/19/19/19/19/19/19/19/19/19/19/19/19/f16/19/19/19/19/19/19/19/19/19/19/19/19/19/19/19/19/19 WH9bf39Ev0UZkz93f39Xn39/U39/f1DbSH9/f20/f1P/f397gD9XgP9/f03/eJ0eP14YEr9/f0/XFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFFF9/FF9/F9/Vf9/V9/VPOfff7 7 7 7 9/V9/V9/V7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7/Tb9av39/R39/f0FXx9ufF0W/Q/9/Wj9b1JZ/Tff3/f3/f3/f3/f3/f3/f3/ff3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3/f3是一把把把把把把把把把把把把把把这些放放放放放放放放放放放放放在一个概念概念放放放放放在一个概念概念。。。。。。。一个放放在一个概念XX9K/1vFh39dTIZ/SgBEiVA/QRI/QD9EiBRAiR“UQQ/Sbeiwa/Sbei瓦/Sbei瓦/QQQQ/QQQ/QQQ/Sbei瓦/Sbei瓦/QQQ/QQQ/QQQ/QQQ/QQQ/QQQ/QQQ/QQQ/QQQ/QQQQQ/QQQQQQ/QQQQ/QQQQ/QQ/QQQ/QQQ/QQ/QQ/QQQQ/QQQQQ/QQQQ/QQ/QQQ/QQQQQ/QQQQQQ/QQQ/QQQQ/QQQ/QQ/QQQ/QQQ/QQ/QQQ/QQ/QQQQ/QQ/QQ/QQ/QQ/QQ/QQ/QQ/QQ/QQ/QQ/北京北京北京北京服服服服服服服服服服服服服H/f39O/39M/39/QN9KAESJ9BEJ9AP0SIFECJER9RAN9KAESJ9BEJ9AP0SIFECJER99月9日,一个中国政府在9月9日一个中国政府在9月9日一个中国政府在9月9日一个中国政府在一个中国政府在9月9日一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个中国政府在9月9日一个中国政府在一个中国政府在一个中国政府在一个中国政府在一个9月一个中国政府在一个9月9个中国政府在一个9月9个中国政府在一个9月9个中国政府9个中国政府在一个9个9级的9个中国政府在一个9个9个9月9个中国政府在一个中国政府在9个9个中国政府9个中国政府9级的9个中国政府在一个9个9个9个9 9个中国在一个9个9 9个中国9 9 9 9个中国的9 9 9 9个中国政府在一个中国政府在一个9 9 9 9 9 BRAIRK/UQJ/SgBEiVA/QRIVGUhQ3cx/QD9/9月9日,北京9月9日,作为一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个非政府武装部队的一个f39/f39/f39/f39/f39/f39/XZ3/XZ3/XZ3BT3北京北京北京北京北京北京北京北京北京北京三个BBBQ3-BTBTQQBTQBBTQBTQBBTQBBTV3北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京9WV0WMV0PJ0BUKW79W3R4P/0QL/1MVVf9eP39fv3.9/f9-4-4/f9/f9/f9/f9/f9/f9/39MG4-NGSN/Vr9/f1/f7/f3/9/f3/f3/9/3/3/3/3/3/3/3/3/3/3/3/3/4/4-4-4/4-4-4-4-4-4-4-4-4-4/4-4-4-4-4/3-4-4-4-4-4/4-4-4-4-4/4-4-4-4-4-4/4-4-4-4/4-4/4-4-4/4-4-4-4-4-4-4-4-4-4-4/4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-8-ZxCVAY4xFZ9/XkW/VkW/Vn9eP0FKQxw/UX9/XgvMP39LEhd/Vf9f0/9/fIg/TL9/Sx9/Sx9/Sx9/Sx9/Sx9/Sx9/Sx9/SSS9-RM79/fff7/SS8-WCSN9/f399/f39d/39ZZZ9/F9/F9/Sx9/Sx9/Sx9/Sx9/S9/S9/S9/S9/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S8/S9/S8/9/S9/S8/S8/S8/S9/9/9/F9/F9/f9/9/F9/F9/F9/f9/f9/f9/F9/9/9/9/9/9/9 V/S8wbTFmP/01/VH9VDwz/f39Tf17fP39D1H9/V79Bv1+GP0z/Wn9/U9YEP39/WL9T3+j/QH9f9/f9/f9/f9/f9/f9/f9/f9/f9/f9/f3/3/f3/f9/f9/9/R0j/f9/f9/f9/f9/f9/f9/f9/f9/f9/f9/f9/f9/f9/9/9/9/f9/9/9/f9/9/9/f9/9/9/9/9/f9/9/9/9/9/v9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/7/9/9/9/9/9/9/7/9/9/9/9/9/7/7/9/7/9/9/9/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7 9/QUK/Rh9b2H9/VD9MZP9VP3GAV39AAAAA/Sf9H0o3/f1y/VL9AAAAAElFTkT9QmD9“>


图像仍然没有显示。我做错了什么?

听起来你在寻找
buf.toString([encoding][,start][,end])

考虑以下代码:

var fs = require('fs');
var base64_image = fs.readFileSync('image.png').toString('base64');

console.log(base64_image);
这将在控制台中以base64编码字符串的形式返回
image.png

因此,您可能希望删除()的
for()
循环并更改:

var img = fs.readFileSync('image.png');
为此:

var img = fs.readFileSync('image.png').toString('base64');

我希望这会有所帮助!

正如Dal建议的那样,我在服务器端进行了base64编码:

var img = fs.readFileSync('plot.png', 'base64');
res.end(img);
我将
'base64'
编码选项添加到
readFileSync()
document.getElementById("img").src = "data:image/png;base64," + xhr.responseText;