【发布时间】:2019-08-08 01:51:19
【问题描述】:
基本上我需要从我的服务器接收 png 或 jpeg 图像,并将其显示在我网站的 img 标签中。
我的架构如下所示:
客户端-Server1(我的服务器)-Server2(一些公共服务器)
- 客户端向 Server1 发送 Ajax 请求。
- Server1 向 Server2 发送请求。
- Server2 将图像发送回 Server1。
- Server1 将图像发送回客户端。
客户端代码:
$("#testButton").click(function() {
$.ajax({
method: "get",
async: false,
url: "/test"
}).done(function (response){
alert(response.imageData);
$("#resultImage").attr("src", "data:image/png;base64," + response.imageData);
});
});
Server1 代码:
router.get('/test', function(req, res, next){
var url = 'https://ion.gemma.feri.um.si/ion/services/geoserver/demo1/wms?service=WMS&version=1.1.0&request=GetMap&layers=demo1%3Amaribor-dof25&bbox=546631.6237364038%2C156484.86830455417%2C550631.7865026393%2C160485.0310707898&width=767&height=768&srs=EPSG%3A3794&format=image%2Fjpeg';
request(url, function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log(response.headers['content-type']);
console.log(body);
return res.json({ imageData: body});
});
});
如果我把上面的url直接输入到img src,就显示正确了。 当我直接在浏览器中输入 url 时,图像也能正确显示。
当我从 server1 接收到返回给我的客户端的图像数据时,数据如下所示:
任何想法如何解决这个问题?
【问题讨论】:
-
你好。是的,您的回答帮助解决了我的问题。谢谢。
标签: javascript html node.js ajax server