fileUpload.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. const path = require('path');
  2. const fs = require('fs');
  3. const formidable = require('formidable')
  4. const code = require("../maps/rcodeMap");
  5. const configPath = require('../configs/path.json')
  6. function upload(req,res,next){
  7. let form = new formidable.IncomingForm();
  8. let allFile = [];
  9. form.uploadDir = configPath.tmp;
  10. form.type = true;
  11. form.on('progress', function(bytesReceived, bytesExpected) { //在控制台打印文件上传进度
  12. let progressInfo = {
  13. value: bytesReceived, //当前进度
  14. total: bytesExpected //总进度
  15. };
  16. let bar_progress = Math.floor((progressInfo.value / progressInfo.total) * 100);
  17. console.log(`当前进度: ${bar_progress}`);
  18. }).parse(req, function(err, fields, files) {
  19. console.log(fields);
  20. console.log(files);
  21. if (err) {
  22. console.log(`文件接收失败${err}`);
  23. res.json({
  24. rcode: code.customError,
  25. msg: '文件上传失败'
  26. })
  27. }else{
  28. console.log('文件上传成功')
  29. console.log(fields)
  30. console.log('文件数量'+files.length)
  31. req.files = files;
  32. req.body = fields;
  33. next();
  34. }
  35. })
  36. }
  37. module.exports = upload;