Как загрузить файл с помощью Mojolicious?

Я пробовал Mojolicious веб-фреймворк на основе perl. И я пытаюсь разработать полное приложение вместо Lite. Проблема я столкнулся заключается в том, что я пытаюсь загрузить файлы на сервер, но ниже код не работает.

пожалуйста, направьте меня, что с ним не так. Кроме того, если файл загружается, то он находится в общей папке приложения или в другом месте.

спасибо заранее.

sub posted {
 my $self = shift;
 my $logger = $self->app->log;

 my $filetype = $self->req->param('filetype');
 my $fileuploaded = $self->req->upload('upload');

 $logger->debug("filetype: $filetype");
 $logger->debug("upload: $fileuploaded");

 return $self->render(message => 'File is not available.')
  unless ($fileuploaded);

 return $self->render(message => 'File is too big.', status => 200)
   if $self->req->is_limit_exceeded;

 # Render template "example/posted.html.ep" with message
 $self->render(message => 'Stuff Uploaded in this website.');
}

2 ответов


(во-первых, вам нужна HTML форма с method="post" и enctype="multipart/form-data" и input type="file" С name="upload". Просто на всякий случай.)

если бы не было ошибок,$fileuploaded будет Mojo::Upload. Затем вы можете проверить его размер, его заголовки, вы можете хлебнуть его или переместить его, с $fileuploaded->move_to('path/file.ext').

взято с странный пример.


вы можете использовать Mojolicious:: Plugin:: RenderFile

Mojolicious::Plugin:: RenderFile