Автор Тема: Запись картинки на сервер через броузер  (Прочитано 4107 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн val

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
Как затащить на сервер картинку клиента через броузер? Через file сам файл создается, но в него ничего не записывается. Подскажите кто знает как это сделать в Perl.

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru

Оффлайн val

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
Запись картинки на сервер через броузер
« Ответ #2 : 01 Ноября 2001, 02:27:04 »
Спасибо NAS, я это уже смотрел. 1-й предложенный сценарий не проходит. На строку while (<$in>) сервер отвечает, что это не массив и что не возможно обращаться с таким предложением к неоткрытому failhandle.
А на обращение к zip получаю отсутствие такого сервера.

Оффлайн Wowik

  • The Warlock
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись картинки на сервер через броузер
« Ответ #3 : 01 Ноября 2001, 06:34:17 »
Читай доку по upload...
Там примеры есть (ActivePerl).
А ларчик просто открывался ...

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
strict ?
« Ответ #4 : 24 Декабря 2001, 02:18:42 »
Цитировать
строку while (<$in> ) сервер отвечает, что это не массив и что не возможно обращаться с таким предложением к неоткрытому failhandle.


А у вас включена прагма strict? Такое сообщение выдается при ней, для обхода этого явления в модуле CGI есть новый метод получения дескриптора:

$fh=$obj->upload(\'upfile\');#GET Filehandle

и далее как обычно, только $fh используется в качестве дескриптора.
 в исканиях.

Оффлайн Боря Елкин

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://webmetr.pips.ru
Запись картинки на сервер через броузер
« Ответ #5 : 24 Декабря 2001, 13:10:44 »
могу предложить ознакомиться с моим вариантом :)
http://webmetr.pips.ru/read/cont/?2

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
угу
« Ответ #6 : 24 Декабря 2001, 13:30:25 »
Цитировать
могу предложить ознакомиться с моим вариантом

Да неплохо, только если написать вначале скрипта
use strict;
работать не будет, т.к. дескриптор Перлу тогда не понравится ;)
 в исканиях.

Оффлайн Боря Елкин

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://webmetr.pips.ru
Запись картинки на сервер через броузер
« Ответ #7 : 24 Декабря 2001, 16:46:32 »
Цитировать
Да неплохо, только если написать вначале скрипта
use strict;
работать не будет, т.к. дескриптор Перлу тогда не понравится


Это может быть странно, но после добавления use strict дескриптор ему понравился. ;)

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
гы-гы
« Ответ #8 : 24 Декабря 2001, 23:53:51 »
Цитировать
но после добавления use strict дескриптор ему понравился.

;) Тут многое зависит от броузера/имени файла, я лишь пересказал доку по CGI, где они сами говорят об этом:

However, there are problems with the dual nature of the upload fields.
If you , then Perl will complain when you try to use a
string as a filehandle.  You can get around this by placing the file
reading code in a block containing the pragma.  More
seriously, it is possible for the remote user to type garbage into the
upload field, in which case what you get from param() is not a
filehandle at all, but a string.

To be safe, use the function (new in version 2.47).  When
called with the name of an upload field, returns a
filehandle, or undef if the parameter is not a valid filehandle.
 в исканиях.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28