使用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
}
相关推荐
hdsoft_huge3 小时前
全开源数字孪生系统搭建方案:全套技术文档
vue.js·开源·node.js·echarts·webstorm
qiankui7 小时前
nvm-windows 1.2.x无法安装 Node.js 14 或 16 等低版本的问题
node.js
小粉粉hhh9 小时前
Node.js(四)—— Express
node.js·express
techdashen9 小时前
npm 生态遭遇供应链攻击:color 包被投毒,每周 3200 万次下载全部受影响
前端·npm·node.js
晓杰'1 天前
从0到1实现Balatro游戏后端(4):玩家手牌操作(出牌 / 弃牌 / 补牌)与状态流转设计
后端·websocket·typescript·node.js·状态模式·项目实战·nestjs
LinDaiDai_霖呆呆1 天前
呆老师亲授前端转全栈+AI 开发的学习图谱
前端·javascript·node.js
m0_535817551 天前
Claude Code在Linux/WSL2环境完整部署指南:API中转+避坑配置一篇搞定
linux·服务器·node.js·claude·wsl2·claudecode·88api
神所夸赞的夏天1 天前
安装 HTTP 客户端 npm install axios报错:“code EPERM“解决方法
前端·npm·node.js
ZTStory2 天前
Volta 新一代 node 版本管理工具
前端·javascript·node.js
Hello:CodeWorld2 天前
PCIe(PCI Express)技术详解:架构、演进与实践
linux·嵌入式硬件·express