Можно ли отправить файл с клиентского компьютера в веб-приложении на Perl без предварительной загрузки его на сервер? - PullRequest
0 голосов
/ 07 марта 2012

Я искал это по интернету, пока не получил никакого хорошего ответа, поэтому вот проблема:

У меня есть веб-приложение на Perl, используемое небольшой группой людей (доступ к которому осуществляется через их веб-браузер на компьютерах с Windows, около 100 пользователей), в интрасети (это приложение на сервере RedHat Apache), это приложение получает пользователя вводит и использует WWW::Mechanize для отправки всего на другую страницу (другой сервер, который не должен использоваться напрямую), обрабатывает форму и возвращает результат (я знаю, что это может показаться неоптимальным, но это было сделано в соответствии с тем, что Требуется), проблема в том, что мне нужно, чтобы пользователи могли отправлять файл (скорее всего, это будет изображение размером ~ 500 КБ, либо через WWW::Mechanize вместе с другими данными формы, которые отправляются, либо электронная почта с вложением, любой вариант одинаково приемлем), и я знаю, что файл можно отправить / прикрепить, если он уже находится на сервере, мой вопрос прост:

Можно ли отправить файл с клиентского компьютера (запустив веб-приложение perl в браузере) без предварительной загрузки его на сервер (который его отправит)?

PS Это не один из тех вопросов "дай мне код", я не прошу какой-либо конкретный код, я просто хочу знать, можно ли это сделать (и если это иметь представление о том, как), или если мне абсолютно необходимо загрузить файл на сервер, на котором сначала выполняется приложение Perl (у меня уже есть скрипт для этого). Если это невозможно, то все в порядке, я просто хочу убедиться, что мне нужно загрузить файл на сервер перед отправкой файла.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Да, это можно сделать , если на клиентском компьютере есть почтовый клиент, который достаточно настраиваем, чтобы разрешить комманду типа "mail $ TO $ SUBJECT -attachment $ ATT_FILE". Даже тогда вам нужно, чтобы пользователь сотрудничал, запустив действие.

В противном случае нет. Вы не можете сделать это через JavaScript AFAIK из-за ограничений песочницы.

Я не знаю достаточно о Flash, чтобы знать, если это вариант.

1 голос
/ 07 марта 2012

Если я вас правильно понимаю, да, вы можете загрузить файл через WWW :: Mechanize .См. pb-upload пример.

...