使用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
}
相关推荐
小天源2 分钟前
Oracle Database 11g Express Edition (XE) 11.2.0.2 在离线银河麒麟 V10 上的部署手册
数据库·oracle·express·麒麟v10·oracle11g·oracle-xe-11g
_Kayo_1 小时前
Node.JS 学习笔记8
笔记·学习·node.js
six+seven2 小时前
Node.js内置模块fs
前端·node.js
wuhen_n3 小时前
Webpack vs Vite:前端构建工具对比
前端·webpack·node.js·vite
Gogo8163 小时前
Node.js 后端架构的“隐秘角落”:从 Fastify 引擎到类型系统的博弈
架构·node.js
本妖精不是妖精3 小时前
CentOS 7 安装 Node.js v18.x 完整教程
linux·centos·node.js
摇滚侠1 天前
Node.js 零基础教程,Node.js 和 NPM 的安装与使用
前端·npm·node.js
Ashley_Amanda1 天前
Node.js 服务搭建:从零到部署的生产级指南
node.js
天远云服1 天前
Node.js实战:天远车辆出险查询API接口调用流程、代码接入与场景应用
大数据·node.js
摇滚侠1 天前
安装完 node.js 以后,需不需要修改全局安装包的目录,我觉的不需要修改。网上有很多教程让修改全局包安装目录和配置环境变量,我觉的这两步都多余。
node.js