我正在構建一個簡單的可視化下載程序。用戶選擇他們想要下載的文件,然後下載這些文件。但是我處理的文件相當大。我所做的是讓用戶選擇他們需要的文件,並通過文件名列表perl成功。我想要做的是通過perl腳本將壓縮的tarball流式傳輸到他們的瀏覽器,但我不確定我會如何做到這一點。發送文件到瀏覽器進行下載
如果我運行一個系統命令tar文件的一大堆(它的名字是一個數組)我怎麼會「流」直接,以便用戶可以下載文件,而無需在本地存儲壓縮的壓縮包的壓縮包?
任何幫助,將不勝感激。謝謝。
編輯:所以我有perl流文件,但我如何處理它在Javascript結束。
Perl的呼叫正在取得這樣的:
$.ajax({
type: "POST",
url: "/cgi-bin/download.pl",
data: info,
success: function(data){
window.open(data,'Download');
}
});
感謝。但是,我如何處理javascript中的perl腳本的回覆? Javascript通過ajax調用來調用perl函數。 – Falcata
請勿使用ajax。只需將'document.location'添加到perl頁面。爲了在另一個答覆中回答你的問題,你把文件列表放在'document.location'的url中。例如:'document.location = download.perl?file1 = foo&file2 = bar'等。或者在url參數中使用一個數組。 '。.param()'可以幫助你解決這個問題。 – Ariel
我得到了一切工作謝謝:)。但是還有一件事,一旦它完成了創建tarball,它只會讓用戶下載嗎?有沒有辦法管道下載壓縮和創建?當前: print「Content-Type:application/x-download \ n」; print「Content-Disposition:attachment; filename = download.tar.gz \ n \ n」; print'tar zc - $ path/$ file' – Falcata