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 

  • 相关阅读:
    RFID亮灯电子标签在仓储管理中的应用
    漫画:寻找股票买入卖出的最佳时机(动态规划)
    JAVA深入解析-36个话题-Two
    一行代码让训练速度提升2倍,飞桨自动混合精度技术详解
    追源码的平凡之路
    看完这篇,你也是字符编码大神!
    微服务的熔断原理与实现
    经典论文复现 | PyraNet:基于特征金字塔网络的人体姿态估计
    一文看懂人机对话
    「Spring Boot 2.4 新特性」一键构建Docker镜像
  • 原文地址:https://www.cnblogs.com/nianshi/p/794407.html
Copyright © 2011-2022 走看看