首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Koa.JS 2上传文件?

如何使用Koa.JS 2上传文件?
EN

Stack Overflow用户
提问于 2018-10-02 02:22:34
回答 1查看 3.8K关注 0票数 1

如何使用Koa.JS 2上传文件?我尝试使用koa.js,但没有获得ctx对象中的文件。

EN

回答 1

Stack Overflow用户

发布于 2018-10-02 04:35:43

这些是你最好的选择

async-busboy

@koa/multer

@koa/multer示例:

代码语言:javascript
复制
import Router from 'koa-router';
import multer from '@koa-multer';

const router = new Router();

const upload = multer({
 storage: multer.memoryStorage()
});

router.post('/upload', upload.single('document'), async ctx => {
const { file } = ctx.req;

// Do stuff with the file here

ctx.status = 200;
});

source

尝试在上传之前进行一些验证(如果文件存在,请更改名称)-部分示例代码:

代码语言:javascript
复制
let storage = multer.diskStorage({
 destination: function(req, file, callback) {
    callback(null, './public/uploads')
 },
 filename: function(req, file, callback) {
    callback(null, file.fieldname + '-' + Date.now() + 
 path.extname(file.originalname))
    //callback(null, file.originalname)
 }
})

app.post('/api/file', function(req, res) {
var upload = multer({
    storage: storage}).single('userFile');
upload(req, res, function(err) {
    console.log("File uploaded");
    res.end('File is uploaded')
})
})

example source

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52596764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档