asp.net 文件下载功能,如果电脑上装有迅雷,会下载页面的源码 (急)

问题描述

目前代码如下:stringpath=System.Web.HttpContext.Current.Request.PhysicalApplicationPath+"uploadFile/部门文件夹/"+dept+"/"+XFileName;//初始化FileInfo类的实例,它作为文件路径的包装FileInfofi=newFileInfo(path);//判断文件是否存在if(fi.Exists){//将文件保存到本机上Response.Clear();Response.AddHeader("Content-Disposition","attachment;filename="+System.Web.HttpUtility.UrlEncode(filename,System.Text.Encoding.UTF8));Response.AddHeader("Content-Length",fi.Length.ToString());Response.ContentType="application/octet-stream";Response.Filter.Close();Response.WriteFile(fi.FullName);Response.End();}在网上找过很多种方法都不行~恳请高手指点~~~谢谢啦~~急~

解决方案

解决方案二:
我也碰到过类似的问题,看了这个后解决了
解决方案三:
我都是在同一张页面左处理的如果重定向本页面的话就会报错了。。~
解决方案四:
引用1楼tianshikuqi8的回复:

我也碰到过类似的问题,看了这个后解决了参考

好东西。。。
解决方案五:
还没解决~~各位大虾~~帮帮忙~
解决方案六:
这个问题问了不下一百遍。。。
解决方案七:
网上以前有个解决方案:你可以试一下stringRECORDFILE;stringhttp;RECORDFILE=Request["RECORDFILE"].Replace("|","");http="/down/";FileInfoDownloadFile=newFileInfo(http+RECORDFILE);//设置要下载的文件Response.Clear();//清除缓冲区流中的所有内容输出Response.ClearHeaders();//清除缓冲区流中的所有头Response.Buffer=false;//设置缓冲输出为false//设置输出流的HTTPMIME类型为application/octet-streamResponse.ContentType="application/octet-stream";//将HTTP头添加到输出流Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));//Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());//将指定的文件直接写入HTTP内容输出流。//Response.WriteFile(DownloadFile.FullName);Response.WriteFile(http+RECORDFILE);Response.Flush();//向客户端发送当前所有缓冲的输出Response.End();//将当前所有缓冲的输出发送到客户端

解决方案八:
添加Download.aspx页。FileStreamf=newFileStream("",FileMode.Open);byte[]buffer=newbyte[f.Length];f.Read(buffer,0,buffer.Length);f.Close();Response.ContentType="application/octet-stream";Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode("",System.Text.Encoding.UTF8));Response.BinaryWrite(buffer);Response.Flush();Response.End();
解决方案九:
顶一下人气!!!
解决方案十:
帮顶!
解决方案十一:
帮顶!
解决方案十二:
privatevoidFiledown(){stringurl=Server.MapPath("drop.htm");FileStreamf=newFileStream(url,FileMode.Open);byte[]buffer=newbyte[f.Length];f.Read(buffer,0,buffer.Length);f.Close();Response.ContentType="application/octet-stream";Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(url,System.Text.Encoding.UTF8));Response.BinaryWrite(buffer);Response.Flush();Response.End();}

试试这个。
解决方案十三:

解决方案十四:
学习了
解决方案十五:
学习!
解决方案:
参考学习。
解决方案:
新建一个download.aspx?filename='aa'页面专门用来下载,并将要下载的文件名传给这个页面,然后在这个页面写以下代码stringfilename=Request.QueryString(["filename"]);FileInfoDownloadFile=newFileInfo("../FILE/"+filename);//设置要下载的文件if(DownloadFile.isExists){Response.Clear();//清除缓冲区流中的所有内容输出Response.ClearHeaders();//清除缓冲区流中的所有头Response.Buffer=false;//设置缓冲输出为falseResponse.ContentType="application/octet-stream";//将HTTP头添加到输出流Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());Response.WriteFile(DownloadFile.FullName);Response.Flush();//向客户端发送当前所有缓冲的输出Response.End();//将当前所有缓冲的输出发送到客户端Response.Close();}

时间: 2024-10-30 00:10:03

asp.net 文件下载功能,如果电脑上装有迅雷,会下载页面的源码 (急)的相关文章

asp 连接数据库-ASP网站不能在其他电脑上打开,浏览器报错为没有找到LocalDB实例名

问题描述 ASP网站不能在其他电脑上打开,浏览器报错为没有找到LocalDB实例名 这是我的数据库连接代码 <add name="DatabaseConnectionString2" connectionString="Data Source=(LocalDB)MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database.mdf;Integrated Security=True;Connect Timeout=30"

asp 实现文件下载功能

  asp 实现文件下载功能下载文件不用IE打开就能直接下载,可以下载任文件. <html> <head><title>下载文件不用IE打开</title></head> <body> <%    file=Request("file")   call downloadFile(replace(replace(file,"",""),"/",&quo

ASP.NET2.0:Ilungasoft.Framework.Web之基于Callback的无刷新上传进度条控件[带源码]

asp.net|web|控件|上传|刷新|无刷新 共享一个基于Callback的无刷新上传进度条控件的源码.本控件使用的HttpMoudule基于宝玉的一个上传进度条的sample,这里封装为一个控件,方便使用.无需任何代码,只需设置web.config,添加HttpModule的引用,再将控件拖到页面就行.页面中的文件保存操作和传统的asp.net文件上传完全一样.可以设置属性上传过程中出错或上传成功时跳转到其它页面.兼容IE,Firefox,Opera.其它环境没测试,不过因为是基于Asp.

框架-如何上Android官网,查看Android源码

问题描述 如何上Android官网,查看Android源码 最近做Android开发,需要了解Android框架原理,但是国内没法上Android官网,求大神告知如何上Android官网或是如何翻墙的方法.谢谢啦 解决方案 下载android-sdk不能满足你这方面的需求吗,或者翻墙吧 解决方案二: 如何查看下载的android源码是哪个版本的android官网无法访问办法做应用开发的如何查看Android源码 解决方案三: android-sdk,是首选. 解决方案四: 翻墙一般要用VPN,建

SpringMVC+BUI实现文件上传(附详解,源码下载)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 中午有限时间写这博文,前言就不必多说了,直奔主题吧. BUI是一个前端框架,关于BUI的介绍请看博主的文章那些年用过的一些前端框架. 下面我们开始实例的讲解! 一.效果演示: 上传成功后,会发现本地相应的sava目录下多了刚刚上传的图片(因为只是一个例子,就保存在本地目录了). 二.实例讲解 本实例使用的环境,eclipse + maven.  使用的技术:SpringMV

Android系统联系人全特效实现(上)分组导航和挤压动画(附源码)_Android

记得在我刚接触Android的时候对系统联系人中的特效很感兴趣,它会根据手机中联系人姓氏的首字母进行分组,并在界面的最顶端始终显示一个当前的分组.如下图所示:  最让我感兴趣的是,当后一个分组和前一个分组相碰时,会产生一个上顶的挤压动画.那个时候我思考了各种方法想去实现这种特效,可是限于功夫不到家,都未能成功.如今两年多过去了,自己也成长了很多,再回头去想想这个功能,突然发现已经有了思路,于是立刻记录下来与大家分享. 首先讲一下需要提前了解的知识点,这里我们最需要用到的就是SectionInde

asp.net 文件下载功能函数代码整理_实用技巧

复制代码 代码如下: public void FileDownLoadDel(string fullFilename) { System.IO.Stream iStream = null; // Buffer to read 10K bytes in chunk: byte[] buffer = new Byte[10000]; // Length of the file: int length; // Total bytes to read: long dataToRead; // Ident

电脑上使用Chrome浏览器下载喜马拉雅网站里的Mp3教程

 工具: Chrome 浏览器 过程: 1.打开Chrome 按F12.会弹出 Developer Tools 窗口.点击 NetWork ,观察访问的网页情况. 2.打开网页: http://www.ximalaya.com/#/1000202/sound/3613735,点击播放按钮,开始播放音频. 3.此时在 NetWork 输出窗口里会看到各种信息其中有这么一条访问记录 http://www.ximalaya.com/tracks/3613735.json 其返回结果是   代码如下:

给大家推荐一个可在Web上使用的报表设计工具的源码

问题描述 用C#开发的,不过文档好象不全 解决方案 解决方案二:无人看?解决方案三:帮顶一下.解决方案四:恩...说顶咱们就顶....下来研究研究...谢了..兄弟解决方案五:先谢上虽然我暂时用不着可能以后也用不着解决方案六:好东西,不过用到项目里面,还要做很多工作解决方案七:呵呵,是啊.可以参考下