我在使用 Node 获取文件识别服务器端时遇到问题。
特别是在访问请求数据时(req.files 或 req.body)
如果有人有任何建议,这里有一些片段。
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 路由器:
'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 {}
};
提前致谢
最佳答案
您必须实际使用文件上传中间件来快速解压缩请求的该部分。来自 multer
文档:
var express = require('express')
var multer = require('multer')
var app = express()
app.use(multer({ dest: './uploads/'}));
console.log(req.body)
console.log(req.files)
关于javascript - 使用 nodejs、express 和 Angular 使用 dropzone 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27322410/