使用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
}
相关推荐
年纪轻轻就扛不住5 小时前
Express 入门指南(超详细教程)
前端·前端框架·node.js·express·js
爱电摇的小码农6 小时前
【深度探究系列(5)】:前端开发打怪升级指南:从踩坑到封神的解决方案手册
前端·javascript·css·vue.js·node.js·html5·xss
lihainuo9 小时前
Next.js + AI-SDK 实战:模型注册表从类型设计到工具调用全解析
后端·node.js
胡gh9 小时前
JavaScript 中的闭包、防抖与节流:让你彻底搞懂它们的作用和应用场景
前端·javascript·node.js
野槐10 小时前
vue3+node.js+mysql写接口(二)
node.js
讨厌吃蛋黄酥10 小时前
🚀 全栈开发48小时逆袭:用Node.js打造超炫实时数据仪表盘! 📊
node.js·全栈
天若有情67310 小时前
Node.js 是什么?npm 是什么? Vue 为什么需要他们?
vue.js·npm·node.js
搞前端的小菜11 小时前
从零实现一个GPT 【React + Express】--- 【4】实现文生图的功能
gpt·react.js·express
爱敲代码的小冰11 小时前
npm 切换 node 版本 和npm的源
前端·npm·node.js
叫我菜菜就好12 小时前
【node后端】搭建项目(Express+Ts+Typeorm+Mysql一步到位)
mysql·oracle·express