javascript - 使用 nodejs、express 和 Angular 使用 dropzone 上传文件

标签 javascript angularjs node.js express

我在使用 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/

相关文章:

php - 从网页打印旋转文本

javascript - chrome/firefox 浏览器范围处理的差异

Javascript:多次触发鼠标悬停和鼠标移出的警报检查

javascript - 我可以在 json 响应中发送 java 对象吗

node.js - 如何在 Postgres URL 中指定模式名称以连接到 Heroku 上的 PostgreSQL 数据库

node.js - Node.js 抛出 TypeError ('first argument must be a string, Array, or Buffer');

angularjs - Angular-Wakanda 的 ds.addToCatalog()

javascript - 如何定义完成渲染ngRepeat并运行回调?

javascript - 在 AngularJS 中获取当前 Controller 名称

node.js - 安装onchange和parallelshell node_modules后出现的以下错误有什么解决办法吗?