美文网首页
文件上传

文件上传

作者: 练习时长2年半的个人练习生 | 来源:发表于2020-06-17 12:36 被阅读0次

node 上传文件 可以使用koa-body 中间件进行上传.但是一定要注意koa-body版本的问题.和异步问题.以及,form表单提交.enctype编码的书写.

const Koa = require('koa');
let app = new Koa()
const fs = require('fs');
var koaBody = require('koa-body');
const router = require('koa-router')()
const path = require('path')
const static = require('koa-static')

app.use(static(__dirname+"/public"))
app.use(koaBody({
   multipart:true, // 支持文件上传
   encoding:'gzip',
   formidable:{
     uploadDir:path.join(__dirname,'public/upload/'), // 设置文件上传目录
     keepExtensions: true,    // 保持文件的后缀
   }
 }));
router.post('/upload', async ctx => {
   //  let file = await ctx.request.files
   console.log(await ctx.request.files)
   //  const reader = fs.createReadStream(file);

})
router.get('/', async ctx => {

   ctx.type = 'html'
   let data = fs.readFileSync('./public/index.html').toString()
   ctx.body = data
})
app.use(router.routes());
app.use(router.allowedMethods())
app.use(static(__dirname + "/static"))
app.listen(3000, () => console.log('启动3000'))
<html>

<body>
    <form action="/upload" method="post"   enctype="multipart/form-data">
        <input  name="phtoto" type="file">
        <input  name="word" value="3424">
        <input type="submit" value="save">
    </form>
</body>

</html>

相关文章

网友评论

      本文标题:文件上传

      本文链接:https://www.haomeiwen.com/subject/thzjxktx.html