【问题标题】:How can I upload a file using Catalyst?如何使用 Catalyst 上传文件?
【发布时间】:2010-09-25 03:34:54
【问题描述】:

我正在开发一个基于 Web 的内部应用程序,用于存储和分类照片。我应该如何检索这些文件并将其保存到服务器?

注意:我想将文件保存到文件系统,而不是数据库。
类似于How can I handle HTTP file uploads?

【问题讨论】:

    标签: perl file-upload catalyst


    【解决方案1】:

    从您熟悉的 HTML 表单上的上传 INPUT 开始,并确保 HTML 表单标记具有参数enctype="multipart/form-data"

    您的 Catalyst::Request 对象 ($c->request) 提供了两种访问和操作文件的方法。

    每个文件上传字段都将被实例化为Catalyst::Request::Upload 对象。

    $c->request->upload 将以标量或列表形式返回上传对象。 $c->request->uploads 将返回对 Upload 对象哈希的引用。

    Upload 对象提供了几种保存和复制文件的方法。

    查看我上面链接的手册页。

    【讨论】:

    • $c->request->uploads 真的返回对哈希的引用吗?当我查看 dumper 中的输出时,它似乎返回了一个数组引用
    • @MatthewLock - 要么文档有误,要么您误用/误读了您的垃圾箱。文档仍然说 hashref。
    • Yes uploads 返回一个 hashref,如果有一个上传,但是一个 arrayref 或者 hashrefs 如果有多个上传。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多