100 分求救ASP.NET 2.0上传大文件代码!快来看看拉
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




