使用 nodejs 上传文件,使用拖放区快速和角度

File upload with nodejs, express and angular using dropzone

本文关键字:拖放区 nodejs 文件 使用      更新时间:2023-09-26

我在使用 node 识别文件时遇到问题。

特别是在访问请求数据时,(req.files 或 req.body)

如果有人有任何建议,这里有一些片段。

目录

<form action="/upload" class="dropzone" drop-zone id="file-dropzone"></form>

角度控制器

'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
    });
  }
});

节点路由器

'use strict';
var express = require('express');
var controller = require('./import.controller');
var router = express.Router();
router.post('/', controller.import);
module.exports = router;

节点控制器

'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)