详细参照http://msdn.microsoft.com/ja-jp/library/cc719227.aspx
简单叙述:
従来の ASP では、Response オブジェクトの AddHeader メソッドで HTTP ヘッダを指定し、Response オブジェクトの WriteFile メソッドにダウンロードさせたいファイルを指定して出力します。
ASP.NET 2.0 では、HttpResponse クラスの AddHeader メソッドで HTTP ヘッダを指定し、HttpResponse クラスの WriteFile メソッドにダウンロードさせたいファイルを指定して出力します。
CODE:
----------------------------------------------------------
Protected Sub btnDownload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDownload.Click
Dim strFile As String
strFile = lstFile.SelectedValue // get filename from request
If strFile <> "" Then
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFile)
Response.Flush()
Response.WriteFile(strFile)
Response.End()
End If
End Sub
----------------------------------------------------------
1 条评论:
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFile)
中のfilenameはDownloadする時の表示名で、全名はセキュリティ上にはよくないため、Sourceを更新する。
=================
Dim fi As IO.FileInfo = New IO.FileInfo(lstFile.SelectedValue)
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name)
Response.AddHeader("Content-Length", fi.Length.ToString())
Response.Flush()
Response.WriteFile(fi.FullName)
Response.End()
发表评论