我正在构建一个简单的可视下载器。用户选择要下载的文件,然后下载这些文件。但是,我正在处理的文件相当大。我所做的是让用户选择他们需要的文件,并成功地将文件名列表传递给perl。我想要做的是通过perl脚本将压缩的tarball流式传输到他们的浏览器,但我不确定如何做到这一点。
如果我运行系统命令来tar一大堆文件(其名称在数组中),我将如何“直接”流式传输tarball,以便用户可以下载文件而无需在本地存储压缩的tarball?
任何帮助将不胜感激。谢谢。
编辑:所以我有perl流媒体文件,但我如何在Javascript端处理它。正在进行perl调用:
$.ajax({
type: "POST",
url: "/cgi-bin/download.pl",
data: info,
success: function(data){
window.open(data,'Download');
}
});
答案 0 :(得分:2)
使用烟斗。
运行没有f参数的tar(即没有文件,输出为突出显示)。然后捕获并发送输出。您可以使用popen()
,或只使用反引号:`。
答案 1 :(得分:1)