使用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
}
相关推荐
五月君_4 小时前
Node.js 24 LTS 正式发布,稳定支持到 2028 年
node.js
IT小哥哥呀4 小时前
Node.js 实现企业内部消息通知系统(钉钉/企业微信机器人)
node.js·钉钉·企业微信·webhook·后端开发·自动化通知·mysql实战
-大头.4 小时前
Node.js 环境变量配置全攻略
node.js·编辑器·vim
嫂子的姐夫4 小时前
21-webpack介绍
前端·爬虫·webpack·node.js
York·Zhang11 小时前
VSCode 插件开发完整指南:从零到发布
ide·vscode·node.js·编辑器
西部森林牧歌18 小时前
Arbess零基础学习 - 使用Arbess+GitLab实现Node.js项目自动化构建/主机部署
ci/cd·node.js·gitlab·arbess·tiklab devops
Smile_2542204181 天前
nodered 下载 excel 文件
node.js·excel
二进制星轨1 天前
在 Ubuntu 上快速配置 Node.js 环境(附问题说明)
linux·ubuntu·node.js
黄毛火烧雪下1 天前
Node.js 自动替换脚本工具:一键完成多项目批量修改与资源替换
node.js·ci
kuxku1 天前
使用 SSE 与 Streamdown 实现 Markdown 流式渲染
前端·javascript·node.js