验证文件而不是上传文件-multer

时间:2019-04-02 11:09:35

标签: node.js multer

我想在上传之前在├── automl │   ├── __init__.py │   ├── core │   │   ├── __init__.py │   │   └── base.py │   ├── example │   │   ├── __init__.py │   │   └── demo.py │   └── service │   ├── __init__.py │   ├── manage.py │   ├── master │   │   ├── __init__.py │   │   └── urls.py │   ├── settings.py │   ├── worker │   │   ├── __init__.py │   │   ├── admin.py │   │   ├── apps.py │   │   ├── exceptions.py │   │   ├── models.py │   │   ├── suggester.py │   │   ├── tests.py │   │   ├── urls.py │   │   └── views.py │   ├── urls.py │   └── wsgi.py ├── bin ├── build.sh ├── ci.yml ├── conf │   └── log_config.json └── docs 上运行一些自定义验证。我现在已经写了基本验证,但是我的上传无效。

.xlsx

excelMiddleware.js

const express = require('express');
const app = express();
const multer = require('multer');

const router = express.Router();
const uploadExcel = require('./excelMiddleware');

const multerS = multer();
const upload = multer({
  dest:'excel',
  fileFilter(res, file, cb){
    if(!file.originalname.match(/\.(xls|xlsx)$/)){
      return cb(new Error('Please upload a excel file'));
    }
    cb(undefined, true)
  }
}).single('file');

router.post('/upload', multerS.single('file'), uploadExcel, upload, (req, res) => {
  upload(req, res, function (err, data) {
    if (err) throw err;
  })
  res.send('<h1>file uploaded</h1>')
})

router.get('*', (req, res) => {
  res.send('<h1>Page not found</h1>')
})

app.use(router);

app.listen(8000, ()=> {
  console.log('Server stared')
})

0 个答案:

没有答案