ASP.NET中实现直接从网页上下载文件,而不须引用文件URL来下载 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- ASP.NET中实现直接从网页上下载文件,而不须引用文件URL来下载 (http://www.webasp.net/article/27/26861.htm) |
| -- 作者:未知 -- 发布日期: 2005-10-17 |
| '函数名:ResponseFile '功能 :客户端从服务器端下载一个文件 '返回值:返回True表示服务器响应成功,返回False表示失败 '参数 : ' PageResponse 响应客户端的Response对象,用Page.Response引用 ' DownloadFileName 客户端下载文件的文件名 ' LocalFilePath 服务器端待下载文件的路径 ' DownloadBuffer 服务器端读取文件的缓冲区大小,单位为KB Public Function ResponseFile(ByRef PageResponse As HttpResponse, ByVal DownloadFileName As String, ByVal LocalFilePath As String, ByVal DownloadBuffer As Long) As Boolean Dim Reader As System.IO.FileStream Dim Buffer() As Byte Dim FileLength As Long Dim FileBuffer As Long = 1024 * DownloadBuffer Dim ReadCount As Long ReadCount = FileBuffer ReDim Buffer(ReadCount - 1) Try Reader = System.IO.File.OpenRead(LocalFilePath) FileLength = Reader.Length Try PageResponse.Buffer = False PageResponse.AddHeader("Connection", "Keep-Alive") PageResponse.ContentType = "application/octet-stream" PageResponse.AddHeader("Content-Disposition", "attachment;filename=" + DownloadFileName) PageResponse.AddHeader("Content-Length", FileLength.ToString) While ReadCount = FileBuffer ReadCount = Reader.Read(Buffer, 0, FileBuffer) ReDim Preserve Buffer(ReadCount - 1) PageResponse.BinaryWrite(Buffer) End While Response.End() Catch ex As Exception Return False Finally Reader.Close() End Try Catch ex As Exception Return False End Try Return True End Function |
| webasp.net |