gpt4 book ai didi

node.js - nodejs/restify - 图像代理服务器

转载 作者:搜寻专家 更新时间:2023-10-31 23:28:20 25 4
gpt4 key购买 nike

我正在尝试编写一个简单的图像代理服务器(如果这不是正确的措辞,请随时纠正我)。

用例:

这是我当前的版本。它似乎提供损坏的图像文件(并在通过网络浏览器打开时打开下载提示...)。

更新:下面的工作版本。

    var restify = require("restify");
var http = require("http");
var request = require("request");

var server = restify.createServer();

server.listen(1234, function() {
console.log("%s listening at %s", server.name, server.url);
});

server.get("/image", getImage);

function getImage(req, res, next) {

var imageURL = "http://png-5.findicons.com/files/icons/409/witchery/128/cat.png";

http.get(imageURL, function(response) {

var imageSize = parseInt(response.header("Content-Length"));
var imageBuffer = new Buffer(imageSize);
var bytes = 0;

response.setEncoding("binary");

response.on("data", function(chunk) {
imageBuffer.write(chunk, bytes, "binary");
bytes += chunk.length;
});

response.on("end", function() {
console.log("Download complete, sending image.");
res.setHeader("Content-Type", "image/png");
res.send(imageBuffer);
return next();
});
}

最佳答案

为什么不直接通过管道呢?

app.get('/:path', function(req, res) {

request.get('www.imgserver.com/images/' + path).pipe(res);
}

关于node.js - nodejs/restify - 图像代理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24516831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com