Как загрузить файл с помощью CGI APPLICATION - PullRequest
0 голосов
/ 15 ноября 2010

Привет. Я пытаюсь загрузить файл изображения с помощью perl cgi-application.Не уверен, что я делаю неправильно - но пустой файл изображения (с правильным именем) сохраняется.


my $ picture = $ self-> query-> param ('картина') ;
мой $ буфер;my $ bytesread;

open (OUTFILE, ">> $ user_dir / profile_picture / $ picture");
while ($ bytesread = read ($ picture, $ buffer, 1024)) {
вывести буфер OUTFILE $;
}

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

Прочтите раздел «СОЗДАНИЕ ФАЙЛА ЗАГРУЗКИ ФАЙЛА» в документации CGI.pm .Там вы увидите, что метод загрузки вернет дескриптор файла.

    my $fh = $self->query->upload('picture');

    my $buffer; my $bytesread;
    while ($bytesread = read($fh, $buffer, 1024)) {
      ...
     }
0 голосов
/ 16 ноября 2010

Не забывайте, что вашему HTML-элементу формы также необходимо указать enctype = 'multipart / mixed', иначе поток файлов для загрузки не будет отправлен.

...