使用asp.net在客户端macine上下载文件

时间:2013-04-29 18:37:05

标签: asp.net vb.net download text-files

我想从我的网站下载文本文件到用户个人电脑而不提示他输入保存文件的位置。

我已尝试使用以下代码:

Response.TransmitFile("G:\Medical Reporting\Medical\Users\Vishal\Uploaded\Key.txt")
Response.End()

但每次我被重定向到新页面时,文件的所有内容都写在那里。我不想显示文件的内容,但我想下载文件。

1 个答案:

答案 0 :(得分:5)

不可能 - 这是一个安全问题,否则全世界都会尝试在用户计算机上保存各种文件。

如果是内联网,则每个用户都可以在网络应用程序可访问的网络上拥有共享驱动器,只需使用IO.File.Copy方法复制该文件。

<强>更新

要提示用户下载文件,您可以使用以下代码,点击类似按钮后会触发该代码:

此示例适用于图像,但您只需更改ContentType文件名即可满足您的需求。

Response.ContentType = "image/jpeg"; 
// this is the important bit that gives the user the prompt to save
Response.AppendHeader("Content-Disposition","attachment; filename=yourfile.jpg"); 
Response.TransmitFile(Server.MapPath("~/yourfile.jpg"));
Response.End();