Nodejs koa2读取服务器图片返回给前端直接展示

本文介绍如何使用Node.js的Koa框架搭建一个简单的图片服务器,包括项目目录结构、依赖安装及运行步骤。通过代码实现,当请求图片时,服务器会尝试读取并返回指定图片,若不存在则提供默认图片。

项目目录结构

Project
├── app.js                      程序文件
├── images                      图片目录
│ ├── default.png               默认图片
│ ├── xxxxxxx.png               其他图片
│ └── yyyyyyy.png               其他图片

app.js

const fs = require('fs');
const path = require('path');
const mime = require('mime-types'); //需npm安装
const Koa = require('koa'); //需npm安装
const app = new Koa();

app.use(async (ctx) => {

	let filePath = path.join(__dirname, ctx.url); //图片地址
	let file = null;
	try {
	    file = fs.readFileSync(filePath); //读取文件
	} catch (error) {
		//如果服务器不存在请求的图片,返回默认图片
	    filePath = path.join(__dirname, '/images/default.png'); //默认图片地址
	    file = fs.readFileSync(filePath); //读取文件	    
	}

	let mimeType = mime.lookup(filePath); //读取图片文件类型
	ctx.set('content-type', mimeType); //设置返回类型
	ctx.body = file; //返回图片

});
app.listen(8080);

使用方式

初始化项目

npm init -y

安装依赖包

npm install koa mime-types -S

运行node程序

node app.js

浏览器访问

http://localhost:8080/images/xxxxxxx.png
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值