如何用一个HTTP请求下载多个文件?

用例:用户点击网页上的链接 – 繁荣! 加载坐在他的文件夹中的文件。
我试图使用多部分/混合消息打包文件,但它似乎只适用于Firefox

这就是我的回应:

HTTP/1.0 200 OK Connection: close Date: Wed, 24 Jun 2009 23:41:40 GMT Content-Type: multipart/mixed;boundary=AMZ90RFX875LKMFasdf09DDFF3 Client-Date: Wed, 24 Jun 2009 23:41:40 GMT Client-Peer: 127.0.0.1:3000 Client-Response-Num: 1 MIME-Version: 1.0 Status: 200 --AMZ90RFX875LKMFasdf09DDFF3 Content-type: image/jpeg Content-transfer-encoding: binary Content-disposition: attachment; filename="001.jpg" << here goes binary data >>--AMZ90RFX875LKMFasdf09DDFF3 Content-type: image/jpeg Content-transfer-encoding: binary Content-disposition: attachment; filename="002.jpg" << here goes binary data >>--AMZ90RFX875LKMFasdf09DDFF3 --AMZ90RFX875LKMFasdf09DDFF3-- 

谢谢

PS不,压缩文件不是一个选项

在所有的浏览器上,压缩是唯一的select。 如果这不是一个选项,因为你不知道拉链可以dynamic生成,那么他们可以。 如果这不是一个选项,因为你对zip文件有怨恨,那么..

MIME / multipart用于电子邮件消息和/或POST传输到HTTP服务器。 从来没有打算在HTTP事务的客户端接收和parsing。 有些浏览器确实实现了,有些则没有。

作为另一种select,你可以有一个JavaScript脚本打开窗口下载单个文件。 或者是一个Java Applet(如果是机器上的Java运行时(如果它是一个企业应用程序,这不应该成为一个问题,因为NetAdmin可以在工作站上部署),它可以将文件下载到用户select的目录中。

记得在10年前在netscape 4天内做这个。 它使用的边界就像你在做什么,在当时其他浏览器根本不工作。

虽然它不回答你的问题HTTP 1.1支持请求stream水线,以便至less可以重复使用相同的TCP连接下载多个图像。

您可以使用base64编码将(非常小的)图像embedded到HTML文档中,但是从浏览器/服务器的angular度来看,您在技术上仍然只发送1个文档。 也许这是你打算做的?

使用Base64将图像embedded到HTML中

编辑:我只是意识到,我发现在我的谷歌search的大多数方法只支持Firefox,而不是IE。