您的位置:首页 > 其它

开源的大文件上传组件NeatUpload™

2007-12-28 11:49 507 查看
支持.net 1.1 .NET 2.0

这里是 live demo

很不容易发现的,在.net下面要找个开源的东西真是难也。

当然大文件上传有很多组件比如ABCUPLOAD SlickUpload不过都不是开源都是商业代码带来的就是N多的$,所以。。。

安装办法

下载地址:http://www.brettle.com/neatupload#Download

1.首先解压缩 得到一个NeatUpload-1.2.17 (这个是当前版本)的目录

2.在vs2005环境下载右键 Toolbox ,Chose items 然后浏览找到NeatUpload-NeatUpload-1.2.17/bin/Release/Brettle.Web.NeatUpload.dll点击添加。这个时候你就可以看到相关的东东了。关于reference会在你第一次在Design视图下面拖放控件的时候自动加上,所以不需要care了。

3.在你的website根目录下创建一个NeatUpload,然后把NeatUpload-1.2.17/NeatUpload里的所有东西都copy到你新建的NeatUpload里面。这些是一些进度条相关的信息。

4.在web.config文件里面的configuration/system.web/httpModules 添加下面的语句

<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />

5.asp.net 默认限制4M的上传,所以在web.config里面在 configuration/system.web 下修改下面语句

<httpRuntime maxRequestLength="size_in_kbytes" />
6.为了测试是否成功可以拷贝 Demo.aspx Demo.aspx.cs到你的根目录,run下看看是否OK?

保存文件的例子代码

if (IsValid && InputFile1.HasFile)
{
string strFileName = InputFile1.FileName.ToString();//获得输入的文件名
int i = strFileName.LastIndexOf(".");
string strExtension = strFileName.Substring(i);//得到扩展名
//年月日小时分秒毫秒+扩展名为新的名字
DateTime now = DateTime.Now;
string strname = now.Year.ToString() + now.Month.ToString() + now.Day.ToString() + now.Hour.ToString() + now.Minute.ToString() + now.Second.ToString() + now.Millisecond.ToString() + strExtension;//文件新的名字
string strSavename = System.Web.HttpContext.Current.Request.MapPath("../Upload/bidding/") + strname;
if (System.IO.File.Exists(strSavename))
{
System.Random random = new Random();
strname = strname + random.Next(999);
strSavename = System.Web.HttpContext.Current.Request.MapPath("../Upload/bidding/") + strname;
}

InputFile1.MoveTo(strSavename, MoveToOptions.Overwrite);
strSavename = "Upload//bidding//"+strname;
FileUploadBLL filebll = new FileUploadBLL();
//增加一个新的上传关系表,但是此时文件的关联表为0
bool IsUpload = filebll.AddBuyFile(nID, strFileName, strSavename, strHandler);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: