CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

100 分求救ASP.NET 2.0上传大文件代码!快来看看拉

楼主kongwei521(蝶恋花雨)2006-11-01 16:45:30 在 .NET技术 / C# 提问

100求救2005.NET作的大文件上传代码,各位大哥谁有给小弟一份!我从网上下载的好像都缺少类!希望有的给小弟一份!分数不够在加我800多分!我的邮箱是kongwei521@sina.com只要好用立刻给分!快点阿 问题点数:100、回复次数:40Top

1 楼oolongTea(顶者)回复于 2006-11-01 16:51:29 得分 25

http://community.csdn.net/Expert/TopicView3.asp?id=5118124Top

2 楼kongwei521(蝶恋花雨)回复于 2006-11-01 16:56:05 得分 0

声明一下要c#代码Top

3 楼oolongTea(顶者)回复于 2006-11-01 17:03:02 得分 0

完整代码列表  
  WebForm1.aspx  
   
  <%@   Page   language="c#"   Codebehind="WebForm1.aspx.cs"   AutoEventWireup="false"   Inherits="CSharpUpload.WebForm1"   %>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >  
  <HTML>  
      <HEAD>  
          <title>WebForm1</title>  
          <meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   7.0">  
          <meta   name="CODE_LANGUAGE"   Content="C#">  
          <meta   name=vs_defaultClientScript   content="JavaScript">  
          <meta   name=vs_targetSchema   content="http://schemas.microsoft.com/intellisense/ie5">  
      </HEAD>  
      <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   enctype="multipart/form-data"   runat="server">  
  <INPUT   type=file   id=File1   name=File1   runat="server"   >  
  <br>  
  <input   type="submit"   id="Submit1"   value="Upload"   runat="server"   NAME="Submit1">  
  </form>  
   
   
      </body>  
  </HTML>  
   
   
   
  WebForm1.aspx.cs  
   
  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;  
   
  namespace   CSharpUpload  
  {  
  ///   <summary>  
  ///   Summary   description   for   WebForm1.  
  ///   </summary>  
  public   class   WebForm1   :   System.Web.UI.Page  
  {  
  protected   System.Web.UI.HtmlControls.HtmlInputFile   File1;  
  protected   System.Web.UI.HtmlControls.HtmlInputButton   Submit1;  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   Put   user   code   to   initialize   the   page   here  
  }  
   
  #region   Web   Form   Designer   generated   code  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //    
  //   CODEGEN:   This   call   is   required   by   the   ASP.NET   Web   Form   Designer.  
  //    
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   Required   method   for   Designer   support   -   do   not   modify  
  ///   the   contents   of   this   method   with   the   code   editor.  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.Submit1.ServerClick   +=   new   System.EventHandler(this.Submit1_ServerClick);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
  private   void   Submit1_ServerClick(object   sender,   System.EventArgs   e)  
  {  
  if(   (   File1.PostedFile   !=   null   )   &&   (   File1.PostedFile.ContentLength   >   0   )   )  
  {  
  string   fn   =   System.IO.Path.GetFileName(File1.PostedFile.FileName);  
  string   SaveLocation   =   Server.MapPath("Data")   +   "\\"   +     fn;  
  try  
  {  
  File1.PostedFile.SaveAs(SaveLocation);  
  Response.Write("The   file   has   been   uploaded.");  
  }  
  catch   (   Exception   ex   )  
  {  
  Response.Write("Error:   "   +   ex.Message);  
  }  
  }  
  else  
  {  
  Response.Write("Please   select   a   file   to   upload.");  
  }  
  }  
  }  
  }  
  Top

4 楼oolongTea(顶者)回复于 2006-11-01 17:04:08 得分 0

备注在这:http://support.microsoft.com/kb/323246  
  参考:  
  http://www.codeproject.com/aspnet/fileupload.asp  
  http://www.c-sharpcorner.com/UploadFile/munnamax/FileUploader02102006073548AM/FileUploader.aspx?ArticleID=c6caab38-acc1-40c6-a5ef-c2ad639bcecb  
  Top

5 楼oolongTea(顶者)回复于 2006-11-01 17:05:15 得分 0

可做成自定义控件  
  http://www.15seconds.com/issue/010504.htmTop

6 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:05:55 得分 0

缺少了类一样无法实现Top

7 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:07:00 得分 0

楼上的留下你的QQ号Top

8 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:26:23 得分 40

1、Windows   Server   2003中的IIS   6.0默认设置是特别严格和安全的,最大只能传送   204800个字节,我们需要修改,以允许从IE中上传更大的附件。解决办法是:  
    在“服务”里停止IIS   admin   service   服务。找到Windows\System32\inesrv\下的metabase.xml文件,用记事本打开,找到   ASPMaxRequestEntityAllowed   把它修改为需要的值如102400000(附件大小为100MB)。启动IIS   admin   service服务。  
   
  2、改变了web.config中的   maxRequestLength="你的容量"    
  3、前台代码略,估计有个上传按钮吧,我暂且就认为是   Button1吧  
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
  string   clintFileName,   FileExt,   nFileName;  
  int   i;  
  if   (File1.PostedFile!=null)  
  {  
  clintFileName   =   File1.PostedFile.FileName;  
  //取得文件名(抱括路径)里最后一个"."的索引    
  i   =   clintFileName.LastIndexOf(".");  
  //取得文件扩展名    
  FileExt   =   clintFileName.Substring(i);  
  //这里自动根据日期和文件大小不同为文件命名,确保文件名不重复    
  nFileName   =   DateTime.Now.DayOfYear.ToString()   +   File1.PostedFile.ContentLength.ToString();  
   
  //保存文件到你所要的目录,这里是IIS根目录下的UDfiles目录.你可以改变.    
  //注意:   我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里"\"必须用"\\"代替    
  File1.PostedFile.SaveAs(Server.MapPath("UDfiles/"   +   nFileName   +   FileExt))   ;  
  //得到这个文件的相关属性:文件名,文件类型,文件大小    
   
  }  
  }  
  测试成功Top

9 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:30:14 得分 0

對不起請不要在發送代碼了我要得是完整得源碼!謝謝樓上得!是發到我得郵箱去!Top

10 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:33:05 得分 0

记得在页面中加一个控件哦   protected   System.Web.UI.HtmlControls.HtmlInputFile   File1;  
  我的代码中有File1就是那个控件   设置为   runat=serverTop

11 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:34:31 得分 0

如果楼主执意要原码,完完整整的,熟我时间有限(已经说的很清楚了,我发时有缩进导致格式乱而已)Top

12 楼bitpolar(独自看天)回复于 2006-11-01 17:35:24 得分 0

无语   ...Top

13 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:38:44 得分 0

汗你給的也不是完整得!我一看就知道了重要得是沒有什麽類!所以我照著你得做了也實現不了!I   LA   SAOTop

14 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:42:40 得分 0

既然要幫人傢就要幫忙到底啊!不要剛給些還少了實現不了得代碼!呵呵做不出就得這樣。沒辦法Top

15 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:44:55 得分 0

呵呵,`   残念   `无语Top

16 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:47:19 得分 0

完全的,快下班了,可能贴的乱哦Top

17 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:49:18 得分 0

給我發一份完整得吧  
  郵箱是kongwei521@sina.com或者加我得QQ:283280750還是感謝你們!Top

18 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:54:17 得分 0

--------------页面部分相信你知道怎么做,我不想再贴一大版----------------  
  <form   id="Form1"   method="post"   runat="server">  
          <asp:Button   id="Button1"     runat="server"   Text="Button"></asp:Button>  
          <INPUT   type="file"   runat="server"   id="File1">  
  </form>  
  ----------------------------UploadPage.aspx完---------------------------  
  sing   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;  
   
  namespace   WebApp  
  {  
  ///   <summary>  
  ///   test   的摘要说明。  
  ///   </summary>  
   
          public   class   upload   :   System.Web.UI.Page  
          {  
  protected   System.Web.UI.WebControls.Button   Button1;  
  protected   System.Web.UI.HtmlControls.HtmlInputFile   File1;  
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  }  
   
  #region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.Button1.Click   +=   new   System.EventHandler(this.Button1_Click);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
  string   clintFileName,   FileExt,   nFileName;  
  int   i;  
          if   (File1.PostedFile!=null)  
          {  
  clintFileName   =   File1.PostedFile.FileName;  
  i   =   clintFileName.LastIndexOf(".");  
  FileExt   =   clintFileName.Substring(i);  
  nFileName   =   DateTime.Now.DayOfYear.ToString()   +   File1.PostedFile.ContentLength.ToString();  
  File1.PostedFile.SaveAs(Server.MapPath("UDfiles/"   +   nFileName   +   FileExt))   ;  
   
          }  
  }  
          }  
  }  
  -------------------------UploadPage.cs部分也完------------------------------Top

19 楼zhuaiman(米米涨了(︶︿︶)╭∩╮)回复于 2006-11-01 17:56:34 得分 0

每次写完了才看到回帖,贴的太慢哈,发邮箱没时间了,下班到Top

20 楼kongwei521(蝶恋花雨)回复于 2006-11-01 17:59:05 得分 0

明天的啊!Top

21 楼zhangzengping(问题到此解决!)回复于 2006-11-01 18:06:25 得分 0

上穿大文件!   有很多方法!   上面都是   把文件装入内存,这样不好!  
   
  不信   你长传   3G的电影看看,   不死才怪!  
   
  要用byte[],   分段上传!   才是正道!!!!!!Top

22 楼constantine(飘遥的安吉儿)回复于 2006-11-02 10:05:47 得分 20

同意   zhangzengping(张增平)说的:  
  特别是经常要上传,客户多了,服务器的负担更重Top

23 楼constantine(飘遥的安吉儿)回复于 2006-11-02 10:10:35 得分 0

我之前弄过这方面的,不过是用SunriseUpload,你可以试试看Top

24 楼constantine(飘遥的安吉儿)回复于 2006-11-02 10:10:58 得分 0

不知道是否有更好的控件Top

25 楼chen_min2008()回复于 2006-11-02 10:57:28 得分 0

你好我正好也在做这功能.....测试成功...如果你需要的话留下你的EMAIL我发你....Top

26 楼o07(四月·来也勿勿·去也冲冲)回复于 2006-11-02 11:01:09 得分 0

...Top

27 楼jedliu(21世纪什么最贵? 人才!)回复于 2006-11-02 11:29:27 得分 5

http://www.qjedu.net/Article_Print.asp?ArticleID=786Top

28 楼zyip(非想非非想)回复于 2006-11-02 11:31:49 得分 5

You   can   use   the   FileUpload   class.  
  http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.aspxTop

29 楼jedliu(21世纪什么最贵? 人才!)回复于 2006-11-02 11:33:02 得分 0

不要用VS自带的上传,它的最大限制为4M。现在有很多第三方控件,可以到google或百度找找,可以传大文件文件。  
  Top

30 楼kongwei521(蝶恋花雨)回复于 2006-11-02 11:41:23 得分 0

我的郵箱不是在上面有啊給,發一份完整得吧  
  郵箱是kongwei521@sina.com或者加我得QQ:283280750還是感謝你們!Top

31 楼gb_boy(该昵称太帅_系统拒绝显示)回复于 2006-11-02 13:58:52 得分 0

markTop

32 楼o07(四月·来也勿勿·去也冲冲)回复于 2006-11-04 12:59:25 得分 0

 
  mark  
   
  Top

33 楼dugupiaoyun(独孤飘云)回复于 2006-11-04 13:36:30 得分 0

webconfig里面加上这一句:  
  <httpRuntime   maxRequestLength="500000">    
  </httpRuntime>Top

34 楼dugupiaoyun(独孤飘云)回复于 2006-11-04 13:37:37 得分 0

这句代表允许上传500000K  
  应该够大了吧Top

35 楼johnzen(以速度突破生命)回复于 2006-11-05 19:03:34 得分 5

http://blog.joycode.com/dotey/archive/2005/06/12/53557.aspx  
  带DEMO和全部源码。Top

36 楼maomaoli(一树梨花)回复于 2006-11-05 21:10:24 得分 0

mark   and   upTop

37 楼kongwei521(蝶恋花雨)回复于 2006-11-07 10:03:16 得分 0

繼續求救!快Top

38 楼Ronger110(蓉儿)回复于 2006-11-18 10:37:57 得分 0

oolongTea(江山留胜迹,我辈复登临。),还有其他各位,这哪里是上传大文件啊?Top

39 楼liefeng123(天上地下)回复于 2006-11-21 17:27:08 得分 0

用httpmodule来实现,http可以上传2gTop

40 楼breezeli(虫族混混)回复于 2007-03-14 11:51:38 得分 0

i.'m   水一   请给分Top

相关问题

关键词

得分解答快速导航

  • 帖主:kongwei521
  • oolongTea
  • zhuaiman
  • constantine
  • jedliu
  • zyip
  • johnzen

相关链接

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

广告也精彩

反馈

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