【问题标题】:express fileupload fails on large file size快速文件上传在大文件大小时失败
【发布时间】:2018-12-01 00:42:08
【问题描述】:

请多多包涵,我是 fileUpload express 的新手。我有简单的表格来上传文件。它适用于大约 50MB 的文件大小,但对于超过 100MB 的文件大小则失败。

这是 HTML 文件:

<form action="/parse"
      method="post"
      ref="parse"
      encType="multipart/form-data">

<input type="file" class="btn btn-secondary input-file" name="inputFile" id="inputFile"/>
<input type="submit" class="btn btn-primary submit-btn" value="Upload"/>
</form>

这是我的初始化:

const fileUpload = require('express-fileupload');
var app = express();

app.use(fileUpload({
    limits: {
        fileSize: 1024 * 1024 * 1024 * 1024,
        abortOnLimit: false
    }
}));

它甚至不会点击我的 /parse url,它在 express 应用程序控制台上给出以下错误:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   '~\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start' ]
2 info using npm@5.6.0
3 info using node@v8.6.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle flow-trace-analizer@1.2.2~prestart: flow-trace-analizer@1.2.2
6 info lifecycle flow-trace-analizer@1.2.2~start: flow-trace-analizer@1.2.2
7 verbose lifecycle flow-trace-analizer@1.2.2~start: unsafe-perm in lifecycle true
8 verbose lifecycle flow-trace-analizer@1.2.2~start: PATH: ~\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;~\flow-trace-analizer\node_modules\.bin;C:\ProgramData\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Sennheiser\SoftphoneSDK\;~\apache-maven-3.3.9\bin;C:\Program Files\nodejs\;C:\Program Files\Git\bin;~\AppData\Roaming\npm;C:\Program Files (x86)\WebEx\PTools020000000;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\R\R-3.5.0\bin\R.exe;~\Gradle\gradle-4.7\bin;~\Groovy\groovy-2.4.12\bin;C:\Program Files\Heroku\bin;~\AppData\Roaming\npm
9 verbose lifecycle flow-trace-analizer@1.2.2~start: CWD: ~\flow-trace-analizer
10 silly lifecycle flow-trace-analizer@1.2.2~start: Args: [ '/d /s /c', 'node ./bin/www' ]
11 silly lifecycle flow-trace-analizer@1.2.2~start: Returned: code: 3  signal: null
12 info lifecycle flow-trace-analizer@1.2.2~start: Failed to exec start script
13 verbose stack Error: flow-trace-analizer@1.2.2 start: `node ./bin/www`
13 verbose stack Exit status 3
13 verbose stack     at EventEmitter.<anonymous> (
~\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
13 verbose stack     at emitTwo (events.js:125:13)
13 verbose stack     at EventEmitter.emit (events.js:213:7)
13 verbose stack     at ChildProcess.<anonymous> (
~\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:125:13)
13 verbose stack     at ChildProcess.emit (events.js:213:7)
13 verbose stack     at maybeClose (internal/child_process.js:927:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
14 verbose pkgid flow-trace-analizer@1.2.2
15 verbose cwd ~\flow-trace-analizer
16 verbose Windows_NT 6.1.7601
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "~\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
18 verbose node v8.6.0
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 3
22 error flow-trace-analizer@1.2.2 start: `node ./bin/www`
22 error Exit status 3
23 error Failed at the flow-trace-analizer@1.2.2 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3, true ]

【问题讨论】:

    标签: html node.js forms express file-upload


    【解决方案1】:

    无需更改代码。在用于启动脚本的包 json 中,使用以下命令:

    "start": "node --max-old-space-size=4096 ./bin/www"
    

    或者如果你从命令行运行你的节点文件,像这样运行它:

    node --max-old-space-size=4096 PATH/TO/YOUR/EXECUTABLE/NODE/FILE
    

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 2017-06-01
      • 1970-01-01
      • 2015-01-20
      • 2012-05-31
      • 2018-10-10
      • 2014-11-17
      • 2011-05-04
      • 1970-01-01
      相关资源
      最近更新 更多