Загрузка файла Mojolicious Lite

Я не могу понять, как загрузить файлы на удаленный сервер в Mojolicious Lite. Вот код, во-первых, HTML-форма:

<form method='post' action='add_photo'>
    <input type="file" name="upload" enctype="multipart/form-data">
  <button type="submit" class="btn btn-default">Submit</button>
</form>

и вот маршрут тестирования add_photo:

post '/add_photo' => sub {

    my $self = shift;
    my %params;
    my $file = $self->param('upload');
    $params{filename} = $file->filename;
    $params{filesize} = $file->size;
    $params{worknamne} = $self->param('name');
    $params{stone} = $self->param('stone');
    $params{cat} = $self->param('cat');
    $self->stash(params => \%params);
    $self->render('test');
};

И вот сообщение об ошибке, которое я получаю:

Не удается найти метод объекта "filename" через пакет "name_of_file.jpg" (возможно, вы забыли загрузить "name_of_file.jpg"?) В ​​строке 31 sv.

Заранее спасибо!

1 ответ

Решение

Тип кодировки указывается в теге формы, а не в файле:

<form method="post" action="add_photo" enctype="multipart/form-data">

Для подробного примера просто посмотрите: Mojolicious:: Lite #File uploads

Также этот вопрос / ответ содержит аналогичную информацию: Как загрузить файл с помощью Mojolicious?

Другие вопросы по тегам