imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 16.02.2006, 12:14     # 1
Krasyuk
Guest
 
Сообщения: n/a

Question Загрузка файлов по http

Привет, All!

Есть такая проблема: имеется большой архив файлов на веб - сервере,
пользователь должен иметь возможность через форму (cgi - скрипт на perl)
отобрать группу файлов и загрузить их в удобном виде. Неясности именно с
загрузкой. Опыта в разработке веб - приложений маловато поэтому помогите
Главное требование - не создавать временных файлов на сервере для создания
архива загружаемых файлов и т.п.

Пока выгрузку представляю либо путем создания архива файлов, при этом
архиватор выводит архив на стандартный вывод, который передается
пользователю в браузер. Тут вопрос: архиватор (ориентируюсь на 7zip) сначала
создаст архив во временном файле и потом его выведет через стандартный вывод
(так мне не подходит) или временных файлов создаваться не будет?
Либо в одном ответе сервера передавать несколько файлов, но что-то я не
видел, чтобы браузер по одной ссылке загружал несколько файлов. Или такое
всеж бывает?

Подскажите ответы на вопросы, если есть примеры решений не сочтите за
труд поделится, или может я вообще не правильно все представляю и есть
простой и проверенный путь решения подобных проблем - поделитесь.

Уф, спасибо за внимание!
 
Старый 17.02.2006, 12:26     # 2
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Krasyuk:
Тут вопрос: архиватор (ориентируюсь на 7zip) сначала
создаст архив во временном файле и потом его выведет через стандартный вывод
(так мне не подходит) или временных файлов создаваться не будет?
А почему собственно не подходит?? Вообще, если вывод делать сразу в stdout, то в привычном смысле файлов создаваться не будет. Хотя с другой стороны, Линукс такая операционка где файлами является все, от устройств, до памяти и процессора... поэтому где же ему еще хранить данные архива как не в файле?? Другое дело что на это время будет создан временный файл, скорее всего где-то в /tmp, который будет удален, после завершения операции отдачи, атоматически.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.

Последний раз редактировалось Hubbitus; 17.02.2006 в 12:32.
Hubbitus вне форума  
Старый 22.02.2006, 20:14     # 3
bdimych
Junior Member
 
Регистрация: 03.06.2002
Сообщения: 68

bdimych Путь к славе только начался
Если cgi имеется в виду perl и файлы по размеру "в разумных пределах" то есть модуль Archive::Zip

Код:
use Archive::Zip;
my $zip = Archive::Zip->new();
foreach my $file (@files) {
   $zip->addFile($file);
};
$zip->writeToFileHandle(STDOUT);
bdimych вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:47.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.