[Moscow.pm] Mojolicious render xls

Artem Zhuravlev zhuravlev.ua на gmail.com
Чт Мар 20 01:24:11 PDT 2014


Файлы через веб, загрузка клиентом.


20 марта 2014 г., 12:10 пользователь Alexander Lourier <aml на rulezz.ru>написал:

> Зависит от того, что такое $self->res, и как вы хотите отдавать файлы.
> Если вы формируете email, то Content-type самому письму задаёте
> multipart/mixed, потом к письму цепляете каждый аттач отдельным part. Если
> это MIME::Entity, то примерно так:
> $self->res->attach(Data => $document, Type => 'application/vnd.ms-excel',
> Encoding => 'base64');
> $self->res->attach(....);
>
>
>
> 2014-03-20 8:54 GMT+01:00 Artem Zhuravlev <zhuravlev.ua на gmail.com>:
>
>>
>>
>> Добрый день.
>>
>> Столкнулся с проблемой рендеринга xls файлов.
>>
>> my $self = shift;
>> my $dir = "/tmp/writeexcel/";
>> my $template = "application";
>> my $suffix = ".xls";
>>
>> my $filename = $dir . $template . $suffix;
>> # Create a new workbook called simple.xls and add a worksheet
>> my $workbook;
>> $workbook  = Spreadsheet::WriteExcel->new($filename) or die "Problems
>> creating new Excel file: $!" unless defined $workbook;
>> my $worksheet = $workbook->add_worksheet("Заявка");
>> ... формируем xls файл ...
>> $workbook->close() or die "Error closing file: $!";
>>
>> my $document = do {
>>  local $/ = undef;
>> open my $fh, "<", $filename
>> or die "could not open $filename: $!";
>>  <$fh>;
>> };
>>
>> $self->res->headers->content_disposition("attachment;
>> filename='file.xls';");
>> $self->render(data => $document);
>>
>> Тут все хорошо.
>>
>> Не знаю как быть в случае если нужно отдать сразу несколько файлов.
>>
>> Пните куда смотреть. Думал над тем что архивировать файлы и передать
>> архив.
>>
>> Спасибо.
>>
>> P.S.  Суть не в самом решении, конечно не буду против, а в том куда
>> копать.
>>
>> --
>> Best regards,
>> Artem V. Zhuravlev
>>
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>>
>>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>


-- 
Best regards,
Artem V. Zhuravlev
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140320/06cac474/attachment.html>


Подробная информация о списке рассылки Moscow-pm