zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    运营商公网
    任务管理器 的 服务与进程
    QQ通信原理及QQ是怎么穿透内网进行通信的?
    windows Telnet 客户端常用命令介绍
    redis优化
    shell反射
    USB安装centos6系统(centos7需要换软件)
    rocketmq双主模式
    golang数据类型与转换
    golang介绍
  • 原文地址:https://www.cnblogs.com/nianshi/p/784628.html
Copyright © 2011-2022 走看看