现在在做上传文件的功能,文件通常大小是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. } } });
请问一下,这是什么问题啊?? 求大神 上传文件还有没有其他的插件或者比较稳定的第三方库?
multiparty 默认最大文件 2M吧!使用multiparty 通过options 传入文件大小限制
我看了 multiparty 的源码,如果不传入文件大小限制是无限制的,而且我试过 var form = new multiparty.Form({uploadDir: __dirname+’/…/files/’, maxFilesSize:1010241024});
这样也不行,应该咋整呢?
@jizhuofeng 我看了 multiparty 的源码,如果不传入文件大小限制是无限制的,而且我试过 var form = new multiparty.Form({uploadDir: __dirname+’/…/files/’, maxFilesSize:1010241024});
这样也不行,应该咋整呢?
设置一下maxFieldsSize的大小试试
@jizhuofeng 改成 这样还是不行啊 ? var form = new multiparty.Form({uploadDir: __dirname+’/…/files/’, maxFieldsSize: 20010241024});
@jizhuofeng maxFieldsSize 和 maxFilesSize 有什么区别呢?
有用nginx之类的服务器程序吗?我之前遇到这问题就是nginx限制了2m,当然前提是node框架本身对文件限制没有问题的情况下。
@Hanggi 没有用nginx,前面就是 angularjs。 况且现在有个比较搞笑的问题是传个100k的都不行,几k十几k的 可以。。好郁闷。
刚才试了一下使用默认设置也是没有问题的可以直接上传,大于10M的文件也没有问题的!
@jizhuofeng 能把代码让我看一下吗。跟我的有什么区别不? 我感觉会不会是前台有什么限制导致的。。。前台不是我弄得。
如果多台客户端上传50m-100m的文件,会不会把服务器内存爆掉?
@liumoujie 谢谢 我看看 。 这个你用过吗 靠谱不啊?
@jizhuofeng 我自己写了个简单的form, 就是这样 <form action="/fileUpload" enctype=“multipart/form-data” method=“post”> <input type=“text” name=“title”><br> <input type=“file” name=“upload” multiple=“multiple”><br> <input type=“submit” value=“Upload”> </form> 依然还是不行。。。
服务端(npm官网的例子) 目录接口,及上传后文件的信息
@yuanbu2 我用过, 并且在几个项目中都用过,没出现过什么问题。
@liumoujie 谢谢 我试试这个。
@jizhuofeng 多谢哥们