使用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
}
相关推荐
|晴 天|13 分钟前
Vite 为何能取代 Webpack?新一代构建工具的崛起
前端·webpack·node.js
f***589823 分钟前
最新最详细的配置Node.js环境教程
node.js
y***86693 小时前
JavaScript在Node.js中的Electron
javascript·electron·node.js
lpfasd1234 小时前
Windows下使用nvm-windows管理Node.js版本及npm配置全指南
windows·npm·node.js
p***h64314 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
q***385115 小时前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
q***098018 小时前
Windows 11 如何配置node.js
windows·node.js
pixle018 小时前
从零学习Node.js框架Koa 【六】Koa文件上传下载实现:@koa/multer 与 koa-send 深度解析
node.js·web·koa·js·全栈·服务端·文件上传下载
q***471819 小时前
Windows 上彻底卸载 Node.js
windows·node.js
洞窝技术1 天前
一键屏蔽某国IP访问实战
前端·nginx·node.js