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


    函数名: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 

  • 相关阅读:
    从0开始学习C#第三天
    金盾视频加密器V2014视频加密原理分析
    从0开始学习C#第二天
    从0开始学习C#第一天
    hook NtTerminateProcess进行应用的保护
    Wireshark简单使用教程3——附视频
    Wireshark简单使用教程2——附视频
    Wireshark简单使用教程1——附视频
    一个bat病毒分析(part1)
    社团的CTF逆向题WriteUp
  • 原文地址:https://www.cnblogs.com/nianshi/p/794407.html
Copyright © 2020-2023  润新知