1

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

我已经使用下面的代码进行了尝试:

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

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

4

1 回答 1

5

不可能——这是一个安全问题,否则世界会试图在用户机器上保存各种文件。

如果它是一个 Intranet,每个用户都可以在网络上拥有一个可供 Web 应用程序访问的共享驱动器,并使用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();
于 2013-04-29T18:40:36.360 回答