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 
时间: 2024-12-29 09:48:32

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

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

问题描述 ASP.NET中实现直接从网页上下载文件 我想制作一个空白网页,访问网页后直接下载服务器上的程序文件到本机,下载后自动 运行程序.请各位老大指点(最好是基于C#).谢谢 解决方案 出于安全的考虑,下载后启动程序不可能实现.除非本地部署activex控件,或者干脆你自己去写浏览器. 空白网页下载,这个可以实现 <script language="javascript" type="text/javascript"> window.location

tplink企业路由器怎么禁止用户直接在网页上下载文件

配置步骤: 1.全局设置 启用网页安全功能并保存. 2.规则设置 选择需要进行管控的用户组,启用"禁止网页提交"功能,并且在"过滤文件扩展类型"中填写需要禁止从网页下载内容的格式.最后可以根据企业的需求选择规则生效的时间段,并且在"启用/禁用规则"中选择"启用",点击"新增"按钮添加规则. 配置完成上述步骤后,企业就可以轻松实现网页安全的需求了. 注意:"禁止网页提交"主要是禁止网页内容

Asp.Net中使用水晶报表(上)

asp.net|水晶报表 在我们对VS.Net中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心.一周以后,在阅读了大量的"HOWTO"文档之后,我们成功地将一些简单的报告加入到了我们的Asp.net程序中,并得到了一些小决窍. 这篇文章教你如何在.Net Web应用中使用水晶报表,也可以让你在学习过程中少走一些弯路.为了得到最好的效果,读者最好需要有一些基础的Asp.Net访问数据库的知识以及使用VS.Ne

JS文件中的中文在网页上显示为乱码解决方法

JS编码转换,这句话本身就是一句具有二重义的话.通常理解为JS文件里能转换编码的代码,但是,我所碰到的问题并不是这样的,是要解决JS文件本身的编码问题,它是UTF-8编码的还是ANSI编码的?在百度.谷歌上一搜,大家都是说通过JAVA后台处理来解决编码问题,试问,这样能解决JS文件本身的编码问题吗? 之所以提出JS文件本身编码问题,是因为JS文件的编码不同,造成了中文显示为乱码. 通常,在Eclipse中建立一个JS文件(含有中文),在Eclipse的编辑器中看到的中文都很正常,但是显示在网页上

ASP.NET中URL Routing和IIS上URL Rewriting的区别_自学过程

前言 前面有2篇帖子提到了关于URL Routing的特性,但是发现有很多人误会URL Routing就是URl Rewriting,其实2个虽然都提供相似的功能(提高友好的URL方便搜索引起收录),但是2者的原理和运行周期是完全不一样的,本篇文章我们就来分析一下具体有什么不同. 例子 在分析原理之前,我们先来做一个例子测试一下(IIS URL Rewrite模块需要IIS7的支持). 1.为Customer/1的URL建立对应的MVC程序 首先建立一个普通的MVC3程序,建立一个简单的Cust

字符串-网页上传文件时怎么把文件加密后上传

问题描述 网页上传文件时怎么把文件加密后上传 我想在html页面选择一个上传文件,在js获得这个文件的信息,然后对这个文件进行对称加密后再上传.初步想法是把文件是以数据流发到后台再生成一个完整文件的,但怎么获得这个文件的数据流?另一个想法是把先把文件转成字符串,然后加密,再把字符串生成文件2,然后上传,但怎样才能转成字符串并且把加密的字符串转回文件?请大神解答,感激不尽 解决方案 在Web架构中如果要保密, 最简单最安全的方法是使用HTTPS协议. 用js获取文件数据流是可以的, 但需要新版浏览

asp.net-从服务器上下载文件到本地不成功

问题描述 从服务器上下载文件到本地不成功 当项目在本地时正常,当项目布在服务器上面,下载的文件存储在服务器上.代码如下,怎么才能让文件保存在本地 Uri downUri = new Uri(@"http://wap.incake.net/voiceorderFile/NO7HhefxdIeQqzvbfw7EP8_U1Up3Vdzw0YfQ5vB_oaMQoZq4bfa5P-T-SqixZtXP8LK.mp3"); //建立一个WEB请求,返回HttpWebRequest对象 HttpW

从ftp服务器上下载文件

ftp服务器|下载 <?php/** * 函数名 php_ftp_download * 功能   从ftp服务器上下载文件 * 入口参数 * filename 欲下载的文件名,含路径 */function php_ftp_download($filename) {  $phpftp_host = "ftplocalhost";    // 服务器地址  $phpftp_port = 21;            // 服务器端口  $phpftp_user = "nam

window系统cmd环境下从远程FTP服务器上下载文件

  我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢? 看看下面的方法,也许对你有帮助: @echo off rem 指定FTP用户名 set ftpUser=FTPUSERYGL rem 指定FTP密码 set ftpPass=FTPUSER rem 指定FTP服务器地址 set ftpIP=10.16.12.101 rem 指定待下载的文件位于FTP服务器的哪个目录 set ftpFolder=/MBX-YGL-IN/UE0620/MBX-