首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在大量文件上,多个文件上传失败。

在大量文件上,多个文件上传失败。
EN

Stack Overflow用户
提问于 2017-06-15 18:34:09
回答 1查看 185关注 0票数 2

我碰壁了,这一次我的谷歌技术让我失望了。我正在学习如何为我经常使用的一系列Perl脚本创建一个有用的前端。我有很长的路要走,但当文件总数达到950时,我很难看到(多个)文件上传。

以前,我遇到了这样的问题:在多个文件上传中,文件将开始上传,但是一旦文件大小达到16 mb,上传就停止了。我通过设置$ENV{MOJO_MAX_MESSAGE_SIZE} = 50000000000来修正这个问题。然而,这个问题是不同的。为了说明,这是我的脚本的一部分,我试图获取上传的文件:

代码语言:javascript
复制
my $files = $self->req->every_upload('localfiles');
for my $file ( @{$files} ) {
    my $fileName = $file->filename =~ s/[^\w\d\.]+/_/gr;
    $file->move_to("temporary_uploads/$fileName");
    $self->app->log->debug("$fileName uploaded\n");
    push @fileNames, $fileName;
};
say "FILES: ".scalar(@fileNames);

我很抱歉这可能很难看。如果我试图上传949个文件,我的数组@fileNames被正确填充,但是如果我试图上传950个文件,我的数组就会变成空的,而且似乎$files也是空的。如果有人有任何想法或指点来指导我找到解决方案,我将非常感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-16 14:15:47

如果我试图上传949个文件,我的数组@fileNames被正确地填充,但是如果我试图上传950个文件,我的数组就会变成空的,而且似乎$files也是空的。

这意味着进程将耗尽文件描述符。尤其是,Linux内核的默认设置是1024

例如,最大文件描述符(ulimit -n)的内核缺省值是1024/1024 (软的,硬的),并在Linux2.6.39中被提升为1024/4096

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44574566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档