使用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
}
相关推荐
codingandsleeping5 小时前
Express入门
javascript·后端·node.js
Icoolkj6 小时前
在 Windows 系统上升级 Node.js
windows·node.js
前端付豪10 小时前
3、Node.js异步编程彻底吃透
前端·后端·node.js
layman052811 小时前
node.js 实战——mongoDB
数据库·mongodb·node.js
一袋米扛几楼9814 小时前
【前端】从零开始的搭建顺序指南(技术栈:Node.js + Express + MongoDB + React)book-management
前端·node.js·express
2501_9153738814 小时前
Node.js 包管理工具介绍
node.js
诸神缄默不语15 小时前
已有 npm 项目,如何下载依赖、编译并运行项目
前端·npm·node.js
davysiao17 小时前
CentOS 使用国内镜像安装 nvm 和 Node.js 完整指南
linux·centos·node.js
春天的菠菜17 小时前
【NVM】管理不同版本的node.js
node.js
layman052817 小时前
node.js 实战——从0开始做一个餐厅预订(express+node+ejs+bootstrap)
node.js·express