c# asp.net大文件上传(大于1G)

qishao45741100 2009-11-19 04:37:36
如题,如何使用C#和ASP.net实现大文件的上传,这个文件的容量的很大的,基本都是要对大于1G的文件处理,希望有高手过来指点下?下面是下载的一个代码,不过是多文件的上传,而且效率不高.
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

//51aspx
namespace MutiFileUpload
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int FileNum = 0;
string filepath = Server.MapPath("./") + "UploadFile";
string filename = DateTime.Now.ToString("yyyyMMddHHmmss");
HttpFileCollection hfc = Request.Files;
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];

if (hfc[i].ContentLength > 0)
{
hpf.SaveAs(filepath + "/" + filename + System.IO.Path.GetFileName(hpf.FileName));
FileNum++;
}
else
{
//Response.Write(alert("请选择你要上传的文件!"));
//跳出for循环
i = hfc.Count;
break;
}
}
// Response.Write("<script>alert('上传成功!')</script>");
Response.Write("共上传成功的文件个数为:" + FileNum + "个");
FileNum = 0;
}
}
}
但是上面这段程序也有个问题,脚本不能运行,我想知道原因是什么??
...全文
6838 65 打赏 收藏 转发到动态 举报
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
gSivBeryutllle 2012-10-30
  • 打赏
  • 举报
回复
网上有一个Web大文件断点续传控件(Xproer.HttpUploader4):http://www.cnblogs.com/xproer/archive/2012/05/29/2523757.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
页面调用示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTTP断点续传控件与MySQL数据库演示页面(UTF-8)</title>
<link href="HttpUploader/HttpUploader.css" type="text/css" rel="Stylesheet"/>
<script type="text/javascript" charset="utf-8" src="HttpUploader/FileLister.js"></script>
<script type="text/javascript" charset="utf-8" src="HttpUploader/HttpUploader.js"></script>
<script type="text/javascript" charset="utf-8" src="HttpUploader/combinbox.js"></script>
<script type="text/javascript" src="HttpUploader/jquery-1.3.2.min.js"></script>
<script language="javascript" type="text/javascript">
var cbItemLast = null;
var cbMgr = new CombinBoxMgr();

$(document).ready(function()
{
cbMgr.LoadInControl("FilePanel");
cbMgr.Init();
});
</script>
</head>
<body>
<div id="FilePanel"></div>
</body>
</html>

资源下载:
CAB安装包
开发文档
ASP.NET-ACCESS示例
ASP.NET-SQL2005示例
JSP-ACCESS-GB2312示例
JSP-ACCESS-UTF8示例
JSP-SqlServer2005-UTF8示例
JSP-MySQL-UTF8示例
JSP-WebLogic-ACCESS-GB2312示例
JSP-WebLogic-ACCESS-UTF8示例
PHP-MySQL-UTF8示例
Chrome,Firefox,IE断点续传控件示例(以下示例已整合IE32,IE64,Firefox,Chrome平台的插件)
ASP.NET-ACCESS示例
JSP-ACCESS-GB2312示例
JSP-ACCESS-UTF8示例
JSP-SqlServer2005-UTF8示例
JSP-MySQL-UTF8示例
PHP-MySQL-UTF8示例
kongwei533 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 63 楼 的回复:]

引用 62 楼 的回复:

引用 61 楼 的回复:

引用 60 楼 的回复:

此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹……
[/Quote]
没有用户体验搞个毛。难道现在上传文件还让用户手动一张张上传?难道用户想上传一个大文件还用FTP传?
lih3anwin 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 62 楼 的回复:]

引用 61 楼 的回复:

引用 60 楼 的回复:

此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-……
[/Quote]
现在的应用越来越注重用户体验了。从QQ第一个推荐大附件上传功能以来,越来越多的互联网企业也开始重视这一块。不过良好的用户体验也的确能够给用户带来许多便利,。
luoSaiMingMFC 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 61 楼 的回复:]

引用 60 楼 的回复:

此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Di……
[/Quote]
这个是Xproer.HttpUploader3,可以在网上直接搜到。
lvNotOnlyForShe 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 60 楼 的回复:]

此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续……
[/Quote]
这个用户体验不错。最近正在做一个项目,正好需要这个功能。在网上找了许多HTTP断点续传控件都没有找到。先谢啦。能否把地址发一下。
lwiin6u3x 2012-04-16
  • 打赏
  • 举报
回复
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控件

与Discuz!X2整合-后台断点续传控件启用成功

与Discuz!X2整合-前台发帖页面

与Discuz!X2整合-上传

lxcnn336 2012-04-16
  • 打赏
  • 举报
回复
这个一般要用第三方控件来实现。在IE下面用ActiveX,在FireFox下面用NPAPI。
山东蓝鸟贵薪 2011-09-14
  • 打赏
  • 举报
回复
不会吧,你想干什么呀???????
whgxiang123 2011-09-14
  • 打赏
  • 举报
回复
两年了,还没结贴
mail_ricklee 2011-05-03
  • 打赏
  • 举报
回复
FortuneBase中
NickLee.Common.Configuration.UploadLocationProviderHandler

参考FortuneBase
www.cnblogs.com/mail-ricklee
superes 2011-05-03
  • 打赏
  • 举报
回复
NTKO大文件上传控件,采用多线程技术,提供专业的大文件上传解决方案,是国内唯一支持断点续传上传的控件。可以轻松迅速将10G的大文件上传到WEB服务器,甚至更大文件的快速上传(仅受服务器端操作系统的限制),并采用独创技术,支持断点续传上载,以及一次选择并逐个上传多个文件。上传到WEB服务器的文件,通过web服务器编程支持,还可以采用迅雷,FLASHGET等支持断点续传下载的工具软件进行多线程,可续传的下载。NTKO大文件上传控件可支持除了Domino服务器之外的大部分WEB服务器(因domino数据库如果保存大量大附件性能明显下降,不予支持),并且可以在浏览器中通过JScript或者VBScript使用控件提供的属性和方法进行操作。
李小冲 2011-01-28
  • 打赏
  • 举报
回复
换方式吧,改用FTP上传吧,要不没等上传一半就会卡得不行了,
lwilson 2011-01-27
  • 打赏
  • 举报
回复
好象有专门做大文本上传的源代码,你在网上找一找。
flyerwing 2011-01-26
  • 打赏
  • 举报
回复
其实一些控件就好的,也可以学习下下载工具的做法.
ding544935 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 25楼 mjfei 的回复:]
路过,学习
[/Quote]学习
纯唇Yu弄 2011-01-11
  • 打赏
  • 举报
回复
我就纳闷了 谁这么有劲啊 老顶 09年的帖子
wsbgy 2011-01-11
  • 打赏
  • 举报
回复
用NeatUpload上传控件,免费的!上传1G以上的文件没有问题,我曾经做过!但好像不支持断点续传!
zy70649111 2011-01-11
  • 打赏
  • 举报
回复
http://www.evget.com/zh-CN/FeaturedArticle/Default.aspx?id=1
联系方式:qq 228184703
ilmarezhou 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 goga21cn 的回复:]

Setting up Web.config to allow uploading of large files by ASP .NET applications

This article shows how to setup Web.config to allow uploading of files larger than 4 MB by ASP.NET applications.

……
[/Quote]
这个是什么控件啊?能告诉一下吗?
  • 打赏
  • 举报
回复
mtom协议支持大文件分小块传输
加载更多回复(44)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧