I'm having trouble getting the file recognized server side with node.
Specifically when accessing request data, (req.files or req.body)
Here are some snippets if someone has any advice.
html :
<form action="/upload" class="dropzone" drop-zone id="file-dropzone"></form>
angular controller :
'use strict';
angular.module('app')
.controller('SampleCtrl', function ($scope, $http) {
})
.directive('dropZone', function() {
return function(scope, element, attrs) {
$(element).dropzone({
url: "/upload",
maxFilesize: 100,
maxThumbnailFilesize: 5
});
}
});
node router :
'use strict';
var express = require('express');
var controller = require('./import.controller');
var router = express.Router();
router.post('/', controller.import);
module.exports = router;
node controller :
'use strict';
var express = require('express'),
_ = require('lodash'),
fs = require('fs'),
path = require('path'),
multer = require('multer'),
bodyParser = require('body-parser'),
app = express();
app.use(bodyParser.urlencoded({extended: true}));
exports.import = function(req, res) {
console.log(req.files); // responds with 'undefined'
console.log(req.body); // responds with {}
};
thanks in advance
You have to actually use the file upload middleware to get express to unpack that part of the request. From the multer
docs:
var express = require('express')
var multer = require('multer')
var app = express()
app.use(multer({ dest: './uploads/'}));
console.log(req.body)
console.log(req.files)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.