【发布时间】:2012-03-28 08:07:40
【问题描述】:
我想知道是否可以在不使用 cURL 和/或 Zip 的情况下下载多个文件。我想创建一个文件,如果它被访问,它将同时返回 3 个文件。有可能吗?
【问题讨论】:
-
当您点击指向此类文件的链接时,您会从浏览器中看到什么?
-
没有。您可以触发几个用于下载文件的弹出窗口。但弹出窗口杀手会阻止这些。
我想知道是否可以在不使用 cURL 和/或 Zip 的情况下下载多个文件。我想创建一个文件,如果它被访问,它将同时返回 3 个文件。有可能吗?
【问题讨论】:
分发多个文件的一种方法是对它们进行 base64 编码并将它们传递回 JSON 数组,这可用于有效地分发数据,然后在数据到达后决定如何处理。
当然,如果客户端严格来说是 Web 用户,而不是 API 使用者,那么这可能并不理想 - 因为您仍然必须将 base64 转换为可写文件。出于安全原因,Javascript 中的任何内容都无法直接访问文件系统。
或者,您可以向 URI 发出 ajax 请求,该 URI 返回带有“Content-Disposition 附件”的给定文件,然后连同用户输入(请求下一个文件)、请求下一个等,直到所有文件都已下载。
根据您要完成的任务,您也可以提供一个链接列表!有时最简单的解决方案是最好的。
【讨论】:
好的老式(即过时)镜框来拯救你!
<html>
<frameset rows="33%,33%,33%">
<frame src="file1.php" />
<frame src="file2.php" />
<frame src="file3.php" />
</frameset>
</html>
【讨论】: