Controller.js
var multer = require('multer');
var upload = (req, res) => {
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads/');
},
filename: function (req, file, cb) {
var dateTimestamp = Date.now();
cb(null, file.originalname.split('.')[file.originalname.split('.').length - 2] + '-' + dateTimestamp + '.' + file.originalname.split('.')[file.originalname.split('.').length - 1]);
}
});
var upload = multer({
storage: storage
}).single('file');
upload(req, res, function (err) {
console.log(req.file);
if(err) {
res.json({ error_code: 1, err_desc: err });
return;
}
res.json("File uploaded sucessfully");
});
};
module.exports ={
upload:upload
}
app.js
var mongoose = require("mongoose");
var multipart = require('connect-multiparty');
app.use(cors({origin:true, credentials:true}));
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb',extended: true}));
app.use(multipart({}));
mongoose.Promise = global.Promise;
mongoose.connect("mongodb://127.0.0.1:27017/mydb");
var UploadRouter =require('./upload/uploadRouter/upload-doc-router');
app.use('/upload', UploadRouter);
var PORT = process.env.PORT || 4000;
app.listen(PORT, function(){
console.log('Running on Port 4000...');
});
router:
var express =require("express");
var URouter = express.Router();
var Upload = require('../uploadControllers/upload-doc-controllers');
URouter.route('/single/file').post(Upload.upload);
module.exports =URouter;
以上是我的代码。我想上传 pdf、word 文档并存储在一个文件夹中。当我测试 api 时出现语法错误 Unexpected token - in JSON at position 0 , JSON.parse (<anonymous>), createStrictSyntaxError 像这样显示邮递员中的错误。当我在 pdf 中选择文件然后将请求发送到 api 时。