设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 352|回复: 4
打印 上一主题 下一主题

ASP.NET中实现直接从网页上下载文件

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-16 18:39:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
函数名: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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-20 11:41 , Processed in 0.115234 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表