Отправка файла в браузер для скачивания - PullRequest
2 голосов
/ 08 августа 2011

Я строю простой визуальный загрузчик.Пользователи выбирают файлы, которые они хотят загрузить, а затем загружают эти файлы.Однако файлы, с которыми я имею дело, довольно большие.Что я сделал, так это позволил пользователям выбирать нужные им файлы и успешно передавал список имен файлов в perl.То, что я хочу сделать, - это передать сжатый архив в их браузер с помощью Perl-скрипта, но я не уверен, как бы это сделать.

Если я запускаю системную команду для tar-файла целой пачки файлов (имена которых находятся в массиве), как бы я "направляю" tarball напрямую, чтобы пользователь мог загружать файлы без сохранения сжатоготарбол локально?

Любая помощь будет оценена.Благодарю.

РЕДАКТИРОВАТЬ: Итак, у меня есть Perl потокового файла, но как мне справиться с этим в конце Javascript.

Perl-вызов выполняется следующим образом:

$.ajax({
        type: "POST",
        url: "/cgi-bin/download.pl",
        data: info,
        success: function(data){
            window.open(data,'Download');
            }
    });

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Используйте трубу.

Запустить tar без аргумента f (то есть без файла, вывод на первый план). Затем захватите и отправьте вывод. Вы можете использовать popen() или только обратные галочки: & # x60;.

1 голос
/ 09 августа 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...