如何在 VB.NET 中实现从 Web 表单的桌面下载



在我目前正在处理的网站上,我将一些图像存储在与项目文件中的.aspx文件相同的目录中的文件夹中。我可以使用什么方法来编写代码,以便当有人单击 asp:Button 时,浏览器为他们下载图像(带有给定的 URL)。

下面是它的外观的代码示例。

Protected Sub button_img_Click(sender As Object, e As EventArgs) Handles button_img.Click
    MagicalFunctionDownloadImage("image.jpeg")
End Sub

希望这是有道理的!提前感谢!

asp:button 实际上只是一个超链接,你将设置一个与你的图像对应的 url 项。它将指向您生成的处理程序*.ashx 文件),而不是页面(*.aspx 文件)。处理程序的工作方式很像页面,但没有一些你不会使用的麻烦,它将允许设置一些特定的标题。 然后使用 Response.BinaryWrite() 将文件数据发送到浏览器:

Response.Clear()
Response.AddHeader("content-disposition", "attachment;filename=<filename here>")
Response.ContentType = "<content/type here>"
Response.BinaryWrite(<path to file or byte array goes here>)
Response.Flush()
Response.End()

最新更新