如何下载多个文件有一个HTTP请求?如何下载多个文件有一个HTTP请求?(How to downlo

2019-05-13 18:20发布

使用案例:用户点击网页上的链接 - 轰! 坐在他的文件夹中文件的负荷。
我环顾了使用文件的multipart /混合消息 ,但它似乎只适用于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没有,压缩和解文件是不是一种选择

Answer 1:

正在压缩的是,会对所有浏览器一致的结果是唯一的选择。 如果这不是一种选择,因为你不知道的拉链可以动态生成的,好了,他们可以。 如果这不是一种选择,因为你对zip文件怀恨在心,以及..

MIME /多为电子邮件消息和/或POST发送到HTTP服务器。 这是从来没有打算接收并分析对HTTP事务的客户端。 有些浏览器实现它,有些则没有。

作为另一种选择,你可以有一个JavaScript脚本打开下载各个文件窗口。 或Java小程序(需要Java运行时机器上,如果它是一个企业应用程序,这不应该是一个问题[作为网管员可以在工作站上部署]),将下载的用户选择的一个目录中的文件。



Answer 2:

请记住这样做> 10年前的网景4天。 它曾经像你做什么的界限,并没有与当时其他浏览器在所有工作。

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



Answer 3:

您可以使用base64编码中嵌入一个(非常小的)图像插入到HTML文档,但是从浏览器/服务器的角度来看,你还专门只发送1号文件。 也许这是你打算做什么?

使嵌入图片到使用HTML的Base64

编辑:我刚刚意识到我在谷歌搜索中找到的大多数方法只支持Firefox和IE浏览器没有。



文章来源: How to download multiple files with one HTTP request?