CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

ASP.NET程序下载功能

楼主wenquan_nn(求学者)2005-02-14 11:57:18 在 .NET技术 / ASP.NET 提问

(本人是初学者)近段时间想用ASP.NET写一个程序下载的功能,但遇到很多的问题!  
  我的设计是:在客户端单击LinkButton后,就会出现下载的页面(最常见的那种),  
  但在LinkButton单击事件里,应该怎样把提供下载的文件与这个按钮事件联系在一起,  
  还有下载功能需要用到什么方法、要注意什么,这些我都不了解,至此请各位朋友留  
  下宝贵的意见,如有相应的代码或思想最好!!!  
   
  感谢~~感谢!! 问题点数:20、回复次数:7Top

1 楼louzu1(伏龙芝)回复于 2005-02-14 12:31:14 得分 3

可以在按钮事件里写Response.Redirect("path");  
   
  如果指向的文件是可以下在的文件,比如“rar”,这样就会下载;  
  如果是word等文档,浏览器会打开,也可以下载;  
  如果指向jpg等,就直接打开了。  
   
  下载就这么简单,不过如果要下载收费,就得在定向到下载资源前做判断了。Top

2 楼askv(想学)回复于 2005-02-14 13:22:14 得分 1

如何在asp.net里防止盗链?Top

3 楼gxboy(Blin 小学生学.NET)回复于 2005-02-14 13:26:43 得分 1

那你到底是要出现下载页面,还是就直接下载Top

4 楼wenquan_nn(求学者)回复于 2005-02-14 14:03:38 得分 0

不好意思~~我没写清楚!  
  是直接下载!  
  如果使用Response.Redirect("path")的话,客户端下载时,会看到服务器端的绝对路径,  
  这样似乎不太安全,不知还有没有更好的方法??  
   
  不管怎样,在此先感谢大家!Top

5 楼bigbird998(解放美国,一国两制)回复于 2005-02-14 15:21:37 得分 5

session判断是否会员,是否允许下载  
  目前已知的方法没有很有效的防下载方法  
  一般都是对文件名或目录名进行处理,其实处理后用户还是可以得到最终的下载地址才能下载  
  其实经常用程序随机修改目录名也是个很好的方法,不过有点麻烦Top

6 楼zyug(LovlyPuppy)回复于 2005-02-14 16:00:36 得分 10

呵呵,前两天写的一个下载页面  
   
  文件是放到数据库中的  
  using   System;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Data;  
  using   System.Drawing;  
  using   System.Web;  
  using   System.Web.SessionState;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.Web.UI.HtmlControls;  
  using   System.Data.SqlClient;  
  using   System.IO;  
   
  namespace   OnLineClass  
  {  
  ///   <summary>  
  ///   DownFiles   的摘要说明。  
  ///   </summary>  
  public   class   DownFiles   :   System.Web.UI.Page  
  {  
  public   int   LessonID  
  {  
  get  
  {  
  return   Request.QueryString["ID"]   ==   null   ?0:int.Parse(Request.QueryString["ID"].ToString());  
  }  
  }  
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
  if(this.LessonID   <=   0   )  
  return;  
  using(SqlConnection   sqlCon   =   new   SqlConnection(Config.sqlConnectionString))  
  {  
  sqlCon.Open();  
  SqlCommand   sqlComm   =   sqlCon.CreateCommand();  
  sqlComm.CommandText   =   "Update   Lesson_Data_Table   set   Lesson_Click   =   Lesson_Click   +   1   where   Lesson_ID   ="   +LessonID;  
  sqlComm.ExecuteNonQuery();  
   
  sqlComm.CommandText   =   "select   *   from   Lesson_Data_Table   where   Lesson_ID   =   "+LessonID;  
  SqlDataReader   sqlReader   =   sqlComm.ExecuteReader();  
  byte[]   buffer;  
  if(sqlReader.Read())  
  {  
  Response.Clear();  
  buffer   =   (byte[])sqlReader["Lesson_Data"];    
  Response.AddHeader("Content-Length",buffer.Length.ToString());  
  Response.AddHeader("Content-Type",sqlReader["Lesson_File_Type"].ToString());  
  Response.AddHeader("Content-Disposition",   "attachment;   filename="+sqlReader["Lesson_File_Name"].ToString());  
  Response.BinaryWrite(buffer);  
  Response.End();  
  }  
  sqlReader.Close();  
   
  }  
   
   
  }  
   
  #region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
  }  
  #endregion  
  }  
  }  
  Top

7 楼kaiqiao521(K)回复于 2005-02-15 04:11:44 得分 0

快速学习asp.net的资料  
  http://218.27.204.17/aspnet/a_user.aspxTop

相关问题

  • 如何用ASP做下载程序?
  • ASP。NET WEB应用程序
  • 何出有可以下载看到asp程序原码的程序?
  • 如何设计软件下载的asp程序???
  • 请问哪里有用javascript写asp程序的资料下载
  • 怎么用ASP做一个文件下载的程序呢?
  • 求一些ASP的<学生管理系统>程序下载
  • 请问哪儿可以下载ASP服务器程序
  • 请问哪里有ASP--在线电影程序下载?
  • 急切求asp实现下载的程序???

关键词

  • asp.net
  • 下载
  • 文件
  • 代码
  • 页面
  • asp
  • 程序
  • 方法
  • 功能
  • 感谢

得分解答快速导航

  • 帖主:wenquan_nn
  • louzu1
  • askv
  • gxboy
  • bigbird998
  • zyug

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo