使用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
}
相关推荐
你真的可爱呀6 小时前
3.MySQL 数据库集成
mysql·node.js·express
你真的可爱呀7 小时前
4.前后端联调(Vue3+Vite + Express + MySQL)
mysql·node.js·vue·express
weixin_462446237 小时前
【原创实践】Node.js 动态生成 SVG 项目规划纸模板 高仿 纸由我 PaperMe
node.js·生成纸张
PAQQ8 小时前
ubuntu22.04 搭建 Opencv & C++ 环境
前端·webpack·node.js
程序员爱钓鱼18 小时前
Node.js 编程实战:路由处理原理与实践
后端·node.js·trae
Lucky_Turtle19 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js
聊天QQ:276998851 天前
基于线性自抗扰(LADRC)的无人船航向控制系统Simulink/Matlab仿真工程探索
node.js
不会写DN1 天前
JavaScript call、apply、bind 方法解析
开发语言·前端·javascript·node.js
Tiam-20161 天前
安装NVM管理多版本node
vue.js·前端框架·node.js·html·es6·angular.js
正经教主1 天前
【Trae+AI】和Trae学习搭建App_2.2.1:第4章·安卓APP调用Express后端实战1:前端调用后端
人工智能·学习·express