我经常点击IE中的文件链接,弹出一个下载框。但是这个场景背后会发生什么?我知道IE总是使用HTTP协议与Web服务器通信,而HTTP是基于文本的。
使用HTTP协议实现IE下载吗?如果是这样,如何通过基于文本的协议下载任意文件格式?
我目前正在尝试创建一个Web应用程序,它将指导我的客户下载一些文件。我目前的设计是实现一个Web服务。客户将调用此Web服务,Web服务将返回文件下载URL。但后来我不知道如何处理这个URL。我可以使用像File.Copy之类的东西将文件从URL复制到本地磁盘吗?或者我应该如何对待URL?如果有更好的设计,请教我。
非常感谢......
答案 0 :(得分:1)
通过指定正确的内容类型,您可以告诉浏览器您要发送的是哪种数据。 此外,还有一些特殊编码(如Base 64)允许二进制内容显示为文本,仅使用一组有限的字符并转义其他所有内容。
然后,您无需对网址进行任何操作。 IE将知道它是否可以打开文件并相应地显示下载框。
答案 1 :(得分:0)
也许就像
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
?>