CNode

上传文件到服务器端,小文件可以传送,稍大的(上百k)文件就无法发送

问答
Yyuanbu2发布于10 年前最后回复10 年前19 回复7587 浏览0 收藏

现在在做上传文件的功能,文件通常大小是10M以内。

现在用了multiparty 来做,但是发送小文件没有问题,测试的是3k大小的文件。稍大一些的就无法发送。会报错 parse error: Error: Request aborted

代码大概是这样: var form = new multiparty.Form({uploadDir: __dirname+'/../files/'}); console.log("upload file....."); //after upload form.parse(req, function(err, fields, files) { var dstPath; if(err){ console.log('parse error: ' + err); } else { // rename file. } } });

请问一下,这是什么问题啊?? 求大神 上传文件还有没有其他的插件或者比较稳定的第三方库?

查看回复

回复 (19)

J
jizhuofeng#1·10 年前

@yuanbu2 bb.png

J
jizhuofeng#2·10 年前

刚才试了一下使用默认设置也是没有问题的可以直接上传,大于10M的文件也没有问题的!

Y
yuanbu2#3·10 年前
引用 jizhuofeng刚才试了一下使用默认设置也是没有问题的可以直接上传,大于10M的文件也没有问题的!

@jizhuofeng 能把代码让我看一下吗。跟我的有什么区别不? 我感觉会不会是前台有什么限制导致的。。。前台不是我弄得。

Y
yakczh#4·10 年前

如果多台客户端上传50m-100m的文件,会不会把服务器内存爆掉?

L
liumoujie#5·10 年前
Y
yuanbu2#6·10 年前
引用 liumoujiehttps://github.com/expressjs/multer 看看这个呢。

@liumoujie 谢谢 我看看 。 这个你用过吗 靠谱不啊?

L
liumoujie#8·10 年前
引用 yuanbu2@liumoujie 谢谢 我看看 。 这个你用过吗 靠谱不啊?

@yuanbu2 我用过, 并且在几个项目中都用过,没出现过什么问题。

Y
yuanbu2#11·10 年前
引用 Hanggi有用nginx之类的服务器程序吗?我之前遇到这问题就是nginx限制了2m,当然前提是node框架本身对文件限制没有问题的情况下。

@Hanggi 没有用nginx,前面就是 angularjs。 况且现在有个比较搞笑的问题是传个100k的都不行,几k十几k的 可以。。好郁闷。

J
jizhuofeng#12·10 年前

multiparty 默认最大文件 2M吧!使用multiparty 通过options 传入文件大小限制

Y
yuanbu2#13·10 年前
引用 jizhuofengmultiparty 默认最大文件 2M吧!使用multiparty 通过options 传入文件大小限制

我看了 multiparty 的源码,如果不传入文件大小限制是无限制的,而且我试过 var form = new multiparty.Form({uploadDir: __dirname+'/../files/', maxFilesSize:1010241024});

这样也不行,应该咋整呢?

Y
yuanbu2#14·10 年前
引用 jizhuofengmultiparty 默认最大文件 2M吧!使用multiparty 通过options 传入文件大小限制

@jizhuofeng 我看了 multiparty 的源码,如果不传入文件大小限制是无限制的,而且我试过 var form = new multiparty.Form({uploadDir: __dirname+’/…/files/’, maxFilesSize:1010241024});

这样也不行,应该咋整呢?

J
jizhuofeng#15·10 年前

设置一下maxFieldsSize的大小试试

Y
yuanbu2#16·10 年前
引用 jizhuofeng设置一下maxFieldsSize的大小试试

@jizhuofeng 改成 这样还是不行啊 ? var form = new multiparty.Form({uploadDir: __dirname+'/../files/', maxFieldsSize: 20010241024});

Y
yuanbu2#17·10 年前
引用 jizhuofeng设置一下maxFieldsSize的大小试试

@jizhuofeng maxFieldsSize 和 maxFilesSize 有什么区别呢?

H
Hanggi#18·10 年前

有用nginx之类的服务器程序吗?我之前遇到这问题就是nginx限制了2m,当然前提是node框架本身对文件限制没有问题的情况下。

J
jizhuofeng#19·10 年前

aa.png 服务端(npm官网的例子) bb.png 目录接口,及上传后文件的信息

参与回复
登录后即可参与回复。登录