NodeJS服务器使用AWS中的Multer上传大文件

时间:2018-07-30 05:22:48

标签: node.js amazon-web-services

使用multer在本地运行NodeJS服务器时,我能够上传非常大的文件(12-15GB)。但是,当在AWS上部署节点服务器时,无法上传大文件。

在部署节点服务器时,我可以上传小文件,但是在上传大文件时,它挂起并且永远不会返回,直到我杀死节点服务器。这似乎是AWS固有的环境问题,因为我从来没有在本地得到这个问题。

在AWS中,我将节点服务器部署在t2.micro Windows Server 2016数据中心上。

在通过网络传输大文件时,关于AWS设置我根本缺少什么吗?一些文件限制在某处?使用Windows防火墙或我的AWS配置文件中的设置?

由于我已经可以通过FTP将任何大小的文件发送到我的AWS服务器,所以我认为没有施加文件大小限制。所以我倾向于认为这可能是其他问题。

如果不是很明显,请告诉我是否需要进一步的信息来解决此问题。

这是我的nodejs代码的重要部分,以防万一。

import { Router } from 'express';
import multer from 'multer';

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
      cb(null, 'C:/inetpub/wwwroot/Archive/' + req.body.destination)
    },
    filename: function (req, file, cb) {
      cb(null, file.originalname)
    }
});

let upload = multer({ storage });

export default ({ config, db }) => {
    let api = Router();

    var cpUpload = upload.fields([
        { name: 'destination' },
        { name: 'files' }])
    api.post('/upload', cpUpload, function (req, res, next) {
        res.json(req.files);
    });

    return api;
}

0 个答案:

没有答案