如何使用 Mojolicious 上传多个文件? [英] How to upload multiple files using Mojolicious?

查看:71
本文介绍了如何使用 Mojolicious 上传多个文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 Mojolicious 的新手,正在努力学习.我正在尝试使用表单上传多个文件,但一次只上传一个文件.有什么建议吗?

I'm new to Mojolicious, trying to learn it. I'm trying to upload multiple files using form but only one file is uploaded at a time. Any suggestion?

#!perl -w

use Mojolicious::Lite;
use Mojo::Upload;
use v5.14;

get '/' => 'page';
post '/' => sub {
   my $self = shift;
   my @files;
   for my $file ($self->req->upload('files')) {
     my $size = $file->size;
     my $name = $file->filename;

     push @files, "$name ($size)";
     $file->move_to("C:\\Program Files\\Apache Software Foundation\\Apache24\\htdocs\\ProcessingFolder\\".$name);
   }
   $self->render(text => "@files");
} => 'save';

app->start;

__DATA__

@@ page.html.ep
<!DOCTYPE html>
<html>
   <body>
   <form action="<%=/ProcessingFolder/%>" method="POST"
enctype="multipart/form-data">
     <input name="files" type="file" enctype="multipart/form-data" multiple="multiple">
     <button type="submit">Upload</button>
   </form>
   </body>
</html>

推荐答案

找到答案.使用 uploads() 而不是 upload() 返回数组引用.

Found Answer. Used uploads() instead of upload() which returns Array reference.

#!perl -w

use Mojolicious::Lite;
use Mojo::Upload;
use v5.14;

get '/' => 'page';
post '/' => sub {
   my $self = shift;
   my @files;
   for my $file (@{$self->req->uploads('files')}) {
     my $size = $file->size;
     my $name = $file->filename;

     push @files, "$name ($size)";
     $file->move_to("C:\\Program Files\\Apache Software Foundation\\Apache24\\htdocs\\ProcessingFolder\\".$name);
   }
   $self->render(text => "@files");
} => 'save';

app->start;

__DATA__

@@ page.html.ep
<!DOCTYPE html>
<html>
   <body>
   <form action="<%=/ProcessingFolder/%>" method="POST"
enctype="multipart/form-data">
     <input name="files" type="file" enctype="multipart/form-data" multiple="multiple">
     <button type="submit">Upload</button>
   </form>
   </body>
</html>

这篇关于如何使用 Mojolicious 上传多个文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆