使用Node.js和Express搭建图片缓存服务或应用服务器

使用Node.js和Express生成缩略图:
复制代码
const express = require('express');
const sharp = require('sharp');
const app = express();
const port = 3000;
 
app.get('/thumbnail/:filename', async (req, res) => {
    const filename = req.params.filename;
    const imagePath = `/path/to/images/${filename}`;
    sharp(imagePath)
        .resize(100, 100) // 设置缩略图尺寸
        .toBuffer()
        .then(data => {
            res.type('jpeg'); // 根据需要设置正确的MIME类型
            res.send(data);
        })
        .catch(err => {
            console.error(err);
            res.status(500).send('Error generating thumbnail');
        });
});
 
app.listen(port, () => {
    console.log(`Thumbnail server running at http://localhost:${port}`);
});

配置nginx反向代理

复制代码
location /thumbnail/ {
    proxy_pass http://localhost:3000/; # Node.js应用地址
    proxy_set_header Host $host; # 传递主机头信息到后端服务器
    proxy_set_header X-Real-IP $remote_addr; # 传递客户端IP地址到后端服务器
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 传递X
}
相关推荐
uNke DEPH2 小时前
Node.js看我的就行了!!!
node.js
CV工程师(Ctrl)13 小时前
OpenClaw 安装与飞书接入(2026-04-19)
node.js·github·飞书·火山引擎·openclaw
算是难了18 小时前
Nestjs学习总结_3
前端·typescript·node.js
WayneYang19 小时前
Node.js 全栈知识点详细整理(含代码示例 + 前端结合实战)
前端·node.js
工頁光軍19 小时前
OpenAI NodeJs版使用案列
node.js·oneapi
Aolith20 小时前
《Express 初学者笔记:再也不怕搞混 req 和 res 了》
express
千寻girling20 小时前
被内推的面试 , 第一次
java·前端·python·面试·职场和发展·typescript·node.js
炽烈小老头1 天前
Express Routing(路由系统)
node.js·express
zhensherlock2 天前
Protocol Launcher 系列:Overcast 一键订阅播客
前端·javascript·typescript·node.js·自动化·github·js
Bigger2 天前
🚀 mini-cc:打造你的专属轻量级 AI 编程智能体
前端·node.js·claude