【问题标题】:express file upload memory issue快递文件上传内存问题
【发布时间】:2013-07-04 18:19:56
【问题描述】:

我在 NodeJits 上托管我的网站,但在上传文件时遇到了内存问题。我的应用程序因以下日志消息而崩溃:

{ [Error: spawn ENOMEM] code: 'ENOMEM', errno: 'ENOMEM', syscall: 'spawn' }

它从来没有真正到达我的控制器,所以这不是问题。我目前正在使用 jQuery POST Ajax 上传文件。我也尝试过使用 BlueImp 插件上传块。有问题的文件不是那么大 - jpg 图像,1000x1000,正常 Kbs,没什么异常。

我想知道我能做些什么来完成这项工作吗?绕过 Express 的标准方式或某些设置的其他上传方式。

更新:我尝试过标准的 html 表单、jquery ajax、blueimp jquery 插件,使用原生 express bodyparser,使用强大的。这是不行的。我假设您只是无法将文件上传到 nodejitsu,而这些文件的大小超出了小范围。

【问题讨论】:

  • 您能否发布一些代码,以便我们至少了解您在做什么。使用 Node.js/Express 处理文件上传的方法有 1,000 种,我们不知道您使用的是哪一种。而且,您是否正在启动子进程?
  • 真的没有任何代码——标准的html多部分表单,或者jquery ajax post,或者jquery chunked upload——随便。 Than Express 3 使用 bodyParser。我的控制器没有参与,因为它在死亡之前甚至没有击中它。空控制器做同样的事情

标签: javascript node.js upload express


【解决方案1】:

实际上,我遇到了同样的问题,但我更改了默认上传目录。所以,我把它改回了默认的快递,即我改变了

app.use(express.bodyParser({
        uploadDir: __dirname + "/public/images/tmp"
    }));

app.use(express.bodyParser());

然后,我部署了该应用程序,它对我有用。

您可能还想查看 package.json 文件中的依赖项。 详情可参考此链接http://blog.nodejitsu.com/package-dependencies-done-right

【讨论】:

    猜你喜欢
    • 2011-02-18
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2011-04-25
    • 2010-10-17
    相关资源
    最近更新 更多