如何使用 Mojolicious 上传多个文件?

2024-01-05

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

#!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()它返回数组引用。

#!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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Mojolicious 上传多个文件? 的相关文章

  • 如何在 Perl 中运行匿名函数?

    sub print 1 sub print 1 我尝试了各种方法 都是错误的 sub 将为您提供指向该函数的指针 因此您必须通过引用调用 sub print Hello world n gt 另一种简单的方法 如所指出的布拉戈维斯特 布尤克
  • 哪些字符可以用作正则表达式分隔符?

    哪些字符可以用作 Perl 正则表达式的分隔符 m re m re and m re 一切似乎都有效 但我想知道所有可能性 From perlop http perldoc perl org perlop html 通过 m 您可以使用任意
  • Emacs cperl - 常量块中的缩进

    我正在运行基于 GNU Emacs 24 3 50 2 的 Aquamacs 3 0a cperl 版本是 6 2 当我编辑 Perl 常量块时 我得到了我不想要的额外缩进 use constant ONE gt 1 TWO gt 2 TH
  • 由于握手问题,PerL SSL 连接尝试失败

    我希望有人可以提供帮助 我正在使用 nagios 插件 check ilo2 health 该插件在我们的 OpenSuSE 系统上运行良好 但新的 Ubuntu 14 04 系统有问题 删除 nagios 的东西并运行 perl 基本上是
  • 从 shell 脚本调用 Perl,如何将返回值从 Perl 传递到 shell?

    我成功地从 shell 脚本调用 Perl 脚本 现在我想将 Perl 脚本的返回值传递给 shell 脚本 指示它是否成功 我该怎么做呢 只需使用适当的退出值退出 Perl 脚本即可 exit exit value exit 0 if p
  • 在 Perl 中优雅地确定系统架构

    我正在寻找一种简单的方法来确定 Perl 5 中的系统是 32 位还是 64 位 我已阅读perlvar来回翻阅手册页 并没有发现包含系统 CPU 架构的变量 编译 Perl 的 CPU 架构将足够接近 这是我最接近的 chomp my a
  • 更新命令行输出

    我的程序 碰巧是用 Perl 编写的 尽管我不认为这个问题是 Perl 特定的 在程序中的某一点输出状态消息 Progress x yy where x and yy是一个数字 例如 Progress 4 38 我想在打印新的状态消息时 覆
  • Perl 删除目录中的所有文件

    我怎样才能删除allPerl 中目录中的文件 不删除目录 我的主机只允许最多 250 000 个 文件 而我的 tmp 文件夹会在所有会话 cookie 运行的情况下快速填充 250 000 个 qouta 在这种情况下我无法删除 tmp
  • Perl 中如何释放内存?

    我的代码如下所示 my var my var new while 1 while my k v each var a sub v var A map var var new keys var new var new B sub a sub
  • 如何在没有循环的情况下初始化哈希中的值?

    我正在尝试找出一种无需经过循环即可初始化哈希的方法 我希望使用切片来实现这一点 但它似乎没有产生预期的结果 考虑以下代码 usr bin perl use Data Dumper my hash hash currency symbol B
  • Perl:LWP::UserAgent 对于重定向 URL 始终返回代码 200

    我有一个简单的 url 它执行 302 临时错误 移至另一页 我尝试在 URL 返回代码 200 表示 OK 时检索它 并在返回 200 以外的其他内容时停止 My code my ua LWP UserAgent gt new env p
  • 使用perl,在每行都有相同单词的情况下如何选择最后两行?

    Bini 21 89753 20 47853 20 27835 18 34952 16 23454 Bini 16 89753 14 47853 13 27835 12 34952 11 23454 Bini 10 09014 我的文件有一
  • 如何在 Perl 中使用 use strict 一次一行处理多行字符串?

    我正在尝试找出 PBP 批准的正确方法来一次一行处理多行字符串 许多 Perl 编码人员建议将多行字符串视为文件句柄 除非您在脚本中使用 use strict 否则它可以正常工作 然后 您会收到编译器发出的警告 提示在使用严格引用时无法使用
  • 迭代哈希数组

    我编写了下面的例程 迭代哈希值 0 7 并打印出每个哈希值中特定键的值 我需要获取每个哈希中 b4 的值 我想取消 0 7 当存在不同数量的哈希值时使用更智能的东西 例如 有时只有 2 个 也可能有 160 个 my out decode
  • Perl 中可以使用哪种语法糖来减少左/右值运算符与 if 语句的代码?

    那里有很多语句 因为 Perl 是一种非常甜蜜的语言 但任何语言中最常用的语句都是 if 语句和设置值的组合 我想我已经找到了很多 但仍然存在一些空白 最终 目标是不必多次编写变量名 这是我到目前为止所拥有的 r s r s unless
  • Perl YAML 模块无法识别标量类型

    我加载以下 yaml 文件 foo bar s 1 hx 0x34 用这段代码 use YAML qw LoadFile Dump use Data Dumper my d LoadFile test yaml print Dumper d
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042
  • 根据插入顺序迭代哈希?

    不想对条目进行排序 使用它也不会保留顺序 foreach my val keys hash 默认情况下 Perl 5 中的哈希值是无序的 您可以使用tie http perldoc perl org functions tie html a
  • 将 HTML 转换为 Excel 的最佳方法是什么

    我有一个 HTML 页面 其中包含 Flash 图表 FusionCharts 和 HTML 表格 我需要将这整个事情转换成Excel HTML 表格应显示在 Excel 工作表的单元格中 Flash 图表可以显示为图像 我们可以使用任何开

随机推荐

  • Python - 创建一个以给定值开始并以给定长度结束的列表

    如何创建一个具有起始值和列表长度的列表 例如 如果我想创建一个从 17 开始 长度为 5 的列表 num list 17 18 19 20 21 我已尝试以下操作 但它没有产生正确的结果 def answer start length id
  • NetLogo:以紧凑的方式对列表中的一项执行操作的过程?

    NetLogo 的新手 想知道是否有一个过程可以以紧凑的方式对列表中的一项执行操作 类似于地图 但针对一项 例如 假设我想添加3到索引处的项目i在列表中blah 现在我正在这样做 set blah replace item i blah i
  • sqlite3:未找到

    我正在尝试使用此处描述的过程访问我的设备上的 sqlite 数据库 我如何查看 SQLite 数据库 无模拟器 https stackoverflow com questions 7632767 how can i see sqlite d
  • Draw.io:如何调试未压缩的 js 代码?

    我从github存储库下载了draw io源文件 并尝试对导入函数进行一些细微的更改 但所有源都被缩小了 尤其是app min js 所以我的问题是 有什么方法可以使用未缩小的源代码来调试代码吗 我还尝试在查询字符串中传递参数 dev 1
  • Django:尝试编写只读数据库

    我刚刚创建了一个 Django 项目 python manage py startapp smartrecruitment 然后我运行了数据库同步 python manage py syncdb Operations to perform
  • 在Javascript中将字符串转换为日期时间格式

    我有一个字符串 我想与 JavaScript 日期时间对象进行比较 如何使用 JavaScript 将字符串 1 1 1912 转换为日期时间 以便我可以进行比较 if EDateTime gt 1 1 1912 如果您可以保证日期格式 您
  • 如何清除 html 5 客户端存储?

    例如 我认为 StackOverflow 通过 html 5 客户端存储来记住用户 我怎样才能清除这个存储 清除缓存好像不行 删除 flash cookie 似乎也没有帮助 附注我正在使用 Safari 但我也对一般内容感兴趣 StackO
  • 通过管道传输的 Thrift IPC (Windows)

    我一直在关注 Thrift 对 Windows 的支持 并且由于许多贡献者的努力 VS 开发已经取得了长足的进步 有针对编译器和 C 库的 VS 2010 项目 我已经确认它们在 0 8 中运行良好 http thrift apache o
  • Opencv 和 AWS Lambda

    我正在用 Java 编写一个 lambda 函数 想要使用 opencv 库 我很难理解如何设置它 请帮忙 我可以在本地很好地设置它 但我对 lambda 部分真的很困惑 编辑 准确地说 我在使用 System LoadLibrary 函数
  • 将使用-v7.3(HDF5)保存的Matlab稀疏矩阵加载到Python中并对其进行操作

    我是 python 新手 来自 matlab 我有一个以 matlab v7 3 HDF5 格式保存的大型稀疏矩阵 到目前为止 我发现了两种加载文件的方法 使用h5py and tables 然而 在这两种方法之后 在矩阵上的操作似乎都非常
  • AWS Cognito 的 SMS 多因素身份验证返回无效代码或身份验证状态

    我正在尝试实现基于以下内容的身份验证Cognito使用他们的GoSDK 我已经能够获得基本的username password身份验证可以工作 但是当我使用添加两因素身份验证时SMS我被卡住了 重现步骤 我使用用户名 密码和电子邮件验证创建
  • bash:cd:参数太多[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如果我需要转到名为 异常处理 的目录 那么我写 cd异常处理 但它给出错误太多参数 使用引号 cd new folder 或逃离空间 cd
  • 未为类“BasicMessageChannel”定义方法“setMockMessageHandler”

    运行Flutter项目后 出现此错误 我能做什么来解决它 Error The method setMockMessageHandler isn t defined for the class BasicMessageChannel
  • xsl:使用多个元素对 XML 文件进行排序

    我正在尝试对 XML 文件中的一堆记录进行排序 诀窍是我需要对不同的节点使用不同的元素进行排序 举一个最简单的例子 我想这样做 给定一个 xml 文件
  • JSON 打印从根到叶的所有路径

    name Basic id home childrens name Dashboard viewtype custom view dashboard html childrens name DeviceInfo
  • 根据 Woocommerce 中的产品数量替换特定的购物车商品

    我正在尝试根据购物车中产品的数量更改购物车内容 我店里只有 5 种产品 产品 1 gt 1 个面板 Product 2 gt 12 个面板 Product 3 gt 18 个面板 Product 4 gt 30 个面板 Product 5
  • DAX 条件运行总计

    我有一个包含 2 列的表 ID and Numbers 我想创建一个新专栏Result与数字列的运行总计 但每次运行总计超过 20 时 应重新启动运行总计 此外 如果运行总计低于 20 则不应显示结果 这必须仅使用 DAX 来完成 谢谢指教
  • 为什么 Chrome 会向我的网站发送大量 GET 请求?

    我的 IIS 托管网站定期出现问题 其中一个客户端浏览器 Google Chrome 77 78 或更高版本 突然开始每秒向我的网站提交数十个针对同一页面的请求 对于我的应用程序 该用户始终是有效的 经过身份验证的用户 这些请求似乎也不遵循
  • 在 Rails 6 中测试 jquery

    我对编程和测试相当陌生 看看 jquery 是否适用于我的 Rails 6 设置 为了做到这一点 我有 创建了一个新的 Rails 应用程序 生成了一个脚手架 将以下代码插入到新创建的脚手架的index html erb视图中 div st
  • 如何使用 Mojolicious 上传多个文件?

    我是 Mojolicious 的新手 正在尝试学习它 我正在尝试使用表单上传多个文件 但一次仅上传一个文件 有什么建议吗 perl w use Mojolicious Lite use Mojo Upload use v5 14 get g