最近涉及到用asp.net做上传功能的一个问题,因为asp.net有fileupload的上传控件,但是这个控件上传的文件大小有限,所以根本满足不了需求
百度了下,很多人遇到asp.net上传超大文件的困惑,偶尔搜索发现csdn有个哥们提到这个超大文件如何实现,RadUpload.Net2.dll并且提供了这个动态库进行处理超大文件的上传处理过程。于是就下载下来看了看,果然效果不错,不但支持吵过700M的文件上传快速,更重要的是支持多线程的上传文件。
查看源代码发现利用的控件也是fileupload的控件,但是处理的过程调用的是RadUpload.Net2.dll处理的。
上传后文件存放到bin下面的upload文件夹下面,并且可以对上传的文件进行重新命名。
RadUpload.Net2.dll:下载地址
1.创建一个aspx的页面。
2.创建<asp:FileUpload ID=\"FileUpload1\" runat=\"server\" />。
3.创建<asp:Button ID=\"Button3\" runat=\"server\" Text=\"上传\" OnClick=\"Button1_Click\" />
4.上传代码中调用net2.dll的动态库处理过程。
5.如果创建多个上传文件,可以多写几个<asp:FileUpload ID=\"FileUpload1\" runat=\"server\" />。
6.最后单击上传按钮,执行其中处理过程。
具体过程如下
//如果路径不存在,则创建
if (System.IO.Directory.Exists(Path) == false)
{
System.IO.Directory.CreateDirectory(Path);
}
//组合路径,file.GetName()取得文件名
string oldfilename = file.GetName().ToString();
//如果对上传后的文件进行重新命名,根据guid进行命名,则放开下面二行代码
//string fileType = oldfilename.Substring(oldfilename.LastIndexOf(\".\"));
//string newfilename = Guid.NewGuid().ToString(\"N\") + fileType;
//Path = Path + \"/\" + file.GetName().ToString();
Path = Path + \"/\" + oldfilename;
//保存
file.SaveAs(Path, true);
string newurl = @\"~/Uploads/\" + oldfilename;
}
本文地址:https://www.stayed.cn/item/582
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我