gpt4 book ai didi

ubuntu - Express - 多方/强大无法在 Ubuntu 上解析大于 100kb 的文件。根本不调用 Parse 的回调

转载 作者:行者123 更新时间:2023-12-04 18:32:16 25 4
gpt4 key购买 nike

var express = require('express');
var bodyParser = require('body-parser');
var multiparty = require('multiparty');
var formidable = require('formidable');
var app = express();
...
app.use(bodyParser.raw({limit: 1024 * 1024 * 20}));
app.use(bodyParser.text({limit: 1024 * 1024 * 20}));
app.use(bodyParser.json({limit: 1024 * 1024 * 20}));
app.use(bodyParser.urlencoded({ limit: 1024 * 1024 * 20, extended: false }));
...
...

app.put('/fileupload', function(req, res, next){
console.log('FILE UPLOAD REQUEST');

var form = new formidable.IncomingForm();
//var form = new multiparty.Form();
form.parse(req, function(err, fields, files){
var file = files.file;
//var file = files.file[0]


/*... Logic to save file to disk...*/
...
console.log('Received new file');
});
});

此代码能够将文件写入大小小于 70-80kb 的磁盘。但是,当 size 较大时,不会调用 form.parse 的回调函数(!),并且控制台中没有日志。没有错误被抛出。

在我的个人计算机 (OS X) 上,我可以使用来自本地主机的 PUT 请求来编写大文件。当服务器是运行 Ubuntu 14.04 的远程计算机时会出现此问题。

在此问题之前,我在 Ubuntu 服务器中收到“请求实体太大”错误。配置nginx到20Mb后,报错停止。各种 bodyParsers 的 20Mb 限制只是为了表明我尝试了任何配置。我注释掉的多方代码也是如此。 Formidable 和 Multiparty 都不会解析这些文件。

这里发生了什么?如何解析大于 ~80kb 的文件?

最佳答案

我不知道为什么会发生这种情况,但我能够使用 Busboy 传输更大尺寸的文件而不是多方或强大

关于ubuntu - Express - 多方/强大无法在 Ubuntu 上解析大于 100kb 的文件。根本不调用 Parse 的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com