Загрузка файла 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?