微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

前端上传文件/node-express接收文件保存

前端上传文件

可以用form标签上传

1 <form name="form名称" action="请求地址"  method="请求类型" enctype ="multipart/form-data">
2 <input type="file" name="">
3 <input type="text" name="">
4 <input type="submit" value="提交">
5 </form>

也可以用formData上传

 

 

<input type="file" >


let form = new FormData(); form.append("username","zxj"); form.append("password",123456);
this.axios.post('url',form).then(res => {
  console.log(res);
})

 

 

后台接收文件

node    -    express

 

npm install -S multiparty

//引用

const multiparty = require('multiparty')

const fs = require('fs')

app.post("/info",  function (req, res) {
  /* 生成multiparty对象,并配置上传目标路径 */
  let form = new multiparty.Form();
  // 设置编码 
  form.encoding = 'utf-8';
  // 设置文件存储路径,以当前编辑的文件为相对路径
  form.uploadDir = './images';
  // 设置文件大小限制
  // form.maxFilesSize = 1 * 1024 * 1024;
  form.parse(req, function (err, fields, files) {
    try {
      let inputFile = files.file[0];
      let newPath = form.uploadDir + "/" + inputFile.originalFilename;
      // 同步重命名文件名 fs.renameSync(oldpath, newPath)
    //oldpath  不得作更改,使用上传路径就好
      fs.renameSync(inputFile.path, newPath);
      res.send({ data: "上传成功!" });
    } catch (err) {
      console.log(err);
      res.send({ err: "上传失败!" });
    };
  })
});

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐