本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/HelloXiaoyu/archive/2008/05/07/2409121.aspx
因为要做一个大文件上传的功能,所以搜索了下。找到一个控件NeatUpload 而且这个空间是开源的 官网为http://www.brettle.com/neatupload 于是到官网去下了控件。它里面有demo的,倒腾了半天终于到腾出来了。哎。用别人的控件都用不来哈。伤心。
其实网上也有很多NeatUpload控件的使用例子。但是不知道为什么我按照他们的做法总是出错。后来按照demo上面的代码才倒腾出来。原本不看demo的原因就是它是英文的。哎。我讨厌英文啊。。。
其实 用起来很简单的 首先下载控件。然后添加对控件的引用。添加完毕之后我们可以在工具栏看到多了几个控件了。我只用到ProgressBar和InputFile。然后就是托空间了。然后添加一个按钮 text属性设置为 上传。 双击写上传代码。呵呵那我就把代码贴上来。以防止我忘记怎么用。哈哈
web.config配置文件里面添加如下代码:
<configuration>
<configSections>
<sectionGroup name="system.web">
<section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
</sectionGroup>
</configSections>
<system.web>
<httpModules>
<!--上傳大檔-->
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload"/>
</httpModules>
<!--useHttpModule="true" 要設true才能看到上傳狀態bar,預設是False-->
<neatUpload useHttpModule="true" maxNormalRequestLength="1048576" maxRequestLength="1048576" defaultProvider="FilesystemUploadStorageProvider">
<providers>
<add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>
</providers>
</neatUpload>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600"/>
</system.web>
</configuration>
button click事件代码 protected void submitButton_Click(object sender, EventArgs e) {
if (IsValid) //这一句最重要我,害得我折腾了半天。。。。
{
//唯一檔名
string filename = Guid.NewGuid() + System.IO.Path.GetExtension(InputFile1.FileName);
//設定存檔路徑
string filefullname = System.IO.Path.Combine(Request.PhysicalApplicationPath + "\\files", filename);
//上傳檔案
InputFile1.MoveTo(filefullname, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
//顯示訊息
double size=Math.Round(InputFile1.ContentLength / 1024F,2);
Label1.Text = string.Format("來源:{0}({1}kb)<br>新檔名稱:{2}", InputFile1.FileName, size , filename);
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/HelloXiaoyu/archive/2008/05/07/2409121.aspx