|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alan Long 2:5030/1082.72 01 Nov 2002 07:58:10 To : Denis Knyazev Subject : Ещё раз MIME::Tools -------------------------------------------------------------------------------- * Originally from Denis Knyazev (2:50/551.38) to All. DK> Как я понял ЦГИшный param мне возвращает дескриптор, DK> если тип инпута был файл. Как работать с текстовыми DK> файлами вроде понятно. А бинарники ? Как-то можно DK> определить тип переданного в скрипт файла чтобы потом DK> корректно его прицепить к письму ? Дык в примере по CGI есть пример как определяется Content-Type того что нам отправил пользователь. смотри в сторону uploadInfo. Вот кусок моего модуля занимающегося примерно этим. - -- package My::Module; ... sub save_file { my $self = shift; my $data = shift; my $type = shift || 'application/octet-stream'; # тип по-умолчанию. } ... sub upload { my $self = shift; # Ссылка на класс my $q = shift; # CGI.pm object my $param = shift; # имя <input type="file" name="..." ...> my $rc; if( defined $param and $q ) { my $info = $q->uploadInfo( $q->param( $param ) ); my $in = $q->upload( $param ); $rc = $self->save_file( $in, $info->{'Content-Type'} ) if( defined $in ); } return $rc; } ... - -- Hу а в save_file сохраняешь полученный файл с указанным типом. P.S. Использование: (для интересущихся как это может работать без use CGI ;-) use strict; use My::Module; use CGI; $filename = My::Module->upload( CGI->new, 'file_upload_field' ); DK> WBR, Denis. -- With best, Ъ-· Ъ Е-ЧLaі\і <alan@x-rays.eu.org> --- timEd/386 1.10+ * Origin: X - Rays Station (2:5030/1082.72) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/4581dc1fa642.html, оценка из 5, голосов 10
|