我使用以下代码下载服务器端文件
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()解决这个问题吗?
答案 0 :(得分:1)
您可以使用更好的超级链接。在您的代码中,您需要从文件中读取数据,然后在结束之前读取Response.Write(数据)。
PRB: Response.WriteFile cannot download a large file
(文件路径的虚拟文件夹)
<a href="../filename.xxx">Download File</a>
答案 1 :(得分:0)
我建议您使用.ashx文件来提供文件下载而不是.aspx。
.aspx文件的默认处理程序为你做了很多你在这种情况下特别不需要的东西,所以使用通用处理程序(.ashx)和添加你想要的功能比使用更有意义页面处理程序并从中删除功能。
这看起来像.ashx文件的合理解释:http://www.dotnetperls.com/ashx
是的,肯定要注意使用Response.WriteFile的潜在问题。