首先需要搭建koa2环境,这里就不多说了。

接下来需要加载koa-multer:

npm install koa-multer --save

具体代码如下:

首先是js部分:

const multer = require('koa-multer');//加载koa-multer模块
//文件上传
//配置
var storage = multer.diskStorage({
  //文件保存路径
  destination: function (req, file, cb) {
    cb(null, 'public/uploads/')
  },
  //修改文件名称
  filename: function (req, file, cb) {
    var fileFormat = (file.originalname).split(".");
    cb(null,Date.now() + "." + fileFormat[fileFormat.length - 1]);
  }
})
//加载配置
var upload = multer({ storage: storage });
//路由
router.post('/upload', upload.single('file'), async (ctx, next) => {
  ctx.body = {
    filename: ctx.req.file.filename//返回文件名
  }
})
然后是html部分:

<!DOCTYPE html>
<html>  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>图片上传</title>
    <script src="http://cdn.bootcss.com/jquery/2.0.0/jquery.min.js"></script>
</head>  
<body>  
    <form action="http://127.0.0.1:3000/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="file"/>
        <input type="submit" value="ok"/>
    </form>

</body>  
</html>

重要的:enctype="multipart/form-data"

ok完成。

测试:


上传成功。搞定

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐