Koa2中如何实现.ts文件的上传和下载功能?

更新于
2026-09-29 14:37:51
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计165个文字,预计阅读时间需要1分钟。

Koa2中如何实现.ts文件的上传和下载功能?

在koa2中上传下载文件,使用fs和multer库,创建路由:

typescriptimport * as fs from 'fs';import * as multer from 'koa-multer';import * as Router from 'koa-router';

const uploader=multer({ dest: 'uploads/' });const router=new Router();

router.get('/attach');

koa2上传下载.ts

import * as fs from 'fs' import * as multer from 'koa-multer' import * as Router from 'koa-router' // import * as lowdb from 'lowdb' const uploader = multer({ dest: 'uploads/' }) const router = new Router() router.get('/attachments/:id', async (ctx) => { const { id } = ctx.params const info = ctx.db.get('attachments').find({ id }).value() ctx.set('Content-Disposition', `attachment; filename=${info.originalname}`) ctx.set('Content-Type', info.mimetype) ctx.set('Content-Length', info.size) ctx.body = fs.createReadStream(`uploads/${id}`) }) router.post('/upload', uploader.single('file'), async (ctx) => { const info = Object.assign({}, ctx.req.file, { id: ctx.req.file.filename }) await ctx.db.get('attachments').push(info).write() ctx.body = {ok: true, attachment: info} })

Koa2中如何实现.ts文件的上传和下载功能?

本文共计165个文字,预计阅读时间需要1分钟。

Koa2中如何实现.ts文件的上传和下载功能?

在koa2中上传下载文件,使用fs和multer库,创建路由:

typescriptimport * as fs from 'fs';import * as multer from 'koa-multer';import * as Router from 'koa-router';

const uploader=multer({ dest: 'uploads/' });const router=new Router();

router.get('/attach');

koa2上传下载.ts

import * as fs from 'fs' import * as multer from 'koa-multer' import * as Router from 'koa-router' // import * as lowdb from 'lowdb' const uploader = multer({ dest: 'uploads/' }) const router = new Router() router.get('/attachments/:id', async (ctx) => { const { id } = ctx.params const info = ctx.db.get('attachments').find({ id }).value() ctx.set('Content-Disposition', `attachment; filename=${info.originalname}`) ctx.set('Content-Type', info.mimetype) ctx.set('Content-Length', info.size) ctx.body = fs.createReadStream(`uploads/${id}`) }) router.post('/upload', uploader.single('file'), async (ctx) => { const info = Object.assign({}, ctx.req.file, { id: ctx.req.file.filename }) await ctx.db.get('attachments').push(info).write() ctx.body = {ok: true, attachment: info} })

Koa2中如何实现.ts文件的上传和下载功能?