从链接下载文件

我有一个使用C#的网页,我希望用户能够点击链接(或链接按钮或按钮,我不挑剔)并显示“另存为”对话框窗口,以便他们可以下载文件。 文件本身位于另一台服务器上,因此我必须使用绝对路径(i:\ division \ department \ publicfiles \ filename.pot)。 有谁知道这是怎么做到的吗?

我在这里查了一下这个问题,有人建议使用webClient.DownloadFile。 除非我不能使用它,因为它要求您已经知道用户希望将文件下载到其计算机上的位置。 基本上我正在寻找的是当您右键单击链接并选择“另存为”时会发生什么,但是当您左键单击链接时就会完成。

谢谢

“文件本身位于另一台服务器上”听起来好像它可能没有发布到网络上,因此没有url。 因此,在这种情况下,简单的锚标记将不起作用。 我想你正在寻找Response.TransmitFile()

当他们单击链接时,您需要发送文件并显式设置内容类型和内容处置标头。 将content-disposition标头设置为attachment将弹出另存为对话框。 喜欢(未经测试):

 Response.ContentType = "application/x-pot"; Response.AppendHeader("Content-Disposition","attachment; filename=filename.pot"); Response.TransmitFile(@"i:\division\department\publicfiles\filename.pot"); Response.End(); 

你可以这样做,

  click to download file  

使用HTML5,您可以在锚标记中使用新属性download

代码看起来像

  Clicking on this link will force download the file 

它适用于firefox和chrome最新版本。 我应该提一下我没有在IE中查看它吗? :P