美文网首页
文件上传

文件上传

作者: _前端码农_ | 来源:发表于2020-04-26 14:34 被阅读0次

上传 ( multer )

  1. 安装multer(body-parser组件只能处理enctype="application/x-www-form-urlencoded"编码的数据并放到req.body中)
  2. 给form 添加enctype="multipart/form-data" 属性
  3. multer({dest: './uploadImages'}) 表示上传文件路径
  4. multer.any()表示接收任何上传的数据
  5. multer会将上传的文件信息写到req.file中, 表单的文本信息放到req.body中
  6. 上传的文件没有后缀,path.parse(filespath).ext 能获取到后缀名
  7. fs.rename(oldname, newname, function(err){ })
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上传demo</title>
</head>
<body>
    <form action="http://localhost:8080/infor" method="post" target="stop" enctype="multipart/form-data">
        <input type="value" name='account'>
        <input type="file" name='user'>
        <input type="submit" value="上传">
    </form>
    <!-- 阻止提交跳转页面 -->
    <iframe  name="stop" style="display:none;"></iframe> 

</body>
</html>
js部分
const express=require('express');
const multer=require('multer');
const path=require('path');
const fs=require('fs');
const server=express();

server.post('/infor',multer({ dest: `${UPLOAD_PATH}/book` }).single('file'),function(req,res,next){
    const newname=req.files[0].path+path.parse(req.files[0].originalname).ext
    fs.rename(req.files[0].path,newname,function(err){
      if(er){ }
    })
})

相关文章

网友评论

      本文标题:文件上传

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