C# 使用vb.net问题下载文件

C# 使用vb.net问题下载文件,c#,vb.net,visual-studio-2005,C#,Vb.net,Visual Studio 2005,我使用以下代码下载服务器端文件 Dim fileName As String = abc.Text Dim thePath As String = "e:\myFolder\" & fileName Response.Clear() Response.ContentType = "application/octet-stream" Response.AppendHeader("Content-Disposition", "filename=" & fileName) Respon

我使用以下代码下载服务器端文件

Dim fileName As String = abc.Text
Dim thePath As String = "e:\myFolder\" & fileName
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "filename=" & fileName)
Response.end
我创建了只为测试而编写的文本文件 但下载文件后,它就拥有了aspx页面中使用的所有html脚本。 有人能解释为什么会这样吗?
response.Flush()可以解决这个问题吗?

您可以使用更好的超链接。在您的代码中,您需要从文件中读取数据,然后在结束之前进行Response.Write(数据)

(文件路径的虚拟文件夹)


您可以使用更好的超链接。在您的代码中,您需要从文件中读取数据,然后在结束之前进行Response.Write(数据)

(文件路径的虚拟文件夹)


我建议您使用.ashx文件来提供文件下载,而不是.aspx文件

在本例中,.aspx文件的默认处理程序为您提供了许多您特别不想要的功能,因此使用通用处理程序(.ashx)并添加所需功能比使用页面处理程序并从中删除功能更有意义

这似乎是对.ashx文件的合理解释:


是的,一定要注意使用Response.WriteFile的潜在问题。

我建议您使用.ashx文件来提供文件下载,而不是.aspx文件

在本例中,.aspx文件的默认处理程序为您提供了许多您特别不想要的功能,因此使用通用处理程序(.ashx)并添加所需功能比使用页面处理程序并从中删除功能更有意义

这似乎是对.ashx文件的合理解释:


是的,一定要注意使用Response.WriteFile的潜在问题。

文件名不是固定的。它来自gridview列。因此无法直接链接。请检查文件名是否不固定。它来自gridview列。因此无法直接链接。请转到此处并检查
<a href="../filename.xxx">Download File</a>