猿问

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

用例:用户单击网页上的链接-繁荣!坐在他的文件夹中的文件负载。

我试图使用multipart / mixed消息打包文件,但它似乎仅适用于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不,不可以压缩文件


慕运维8079593
浏览 2056回答 3
3回答

温温酱

压缩是唯一在所有浏览器上都能产生一致结果的选项。如果不是一种选择,因为您不知道zip可以动态生成,那么可以。如果因为您对zip文件不满而无法选择,那么..MIME / multipart用于将电子邮件消息和/或POST传输到HTTP服务器。从未打算在HTTP事务的客户端上接收和解析它。一些浏览器确实实现了它,而另一些则没有。作为另一种选择,您可以使用JavaScript脚本打开窗口,以下载各个文件。或者是一个Java Applet(如果是企业应用程序,则需要计算机上的Java运行时,这应该不是问题(因为NetAdmin可以将其部署在工作站上)),然后将文件下载到用户选择的目录中。

慕婉清6462132

请记住> 10年前在netscape中这样做4天。它使用了像您所做的那样的界限,并且当时根本无法与其他浏览器一起使用。虽然它不能回答您的问题,但是HTTP 1.1支持请求流水线处理,因此至少可以使用相同的TCP连接来重新下载多个图像。

慕哥6287543

您可以使用base64编码将(很小的)图像嵌入HTML文档,但是从浏览器/服务器的角度来看,从技术上讲,您仅发送1个文档。也许这是您打算做什么?使用Base64将图像嵌入HTML编辑:我刚刚意识到,我在Google搜索中找到的大多数方法仅支持Firefox,而不支持iE。
随时随地看视频慕课网APP
我要回答