您的位置:首页 > 其它

大文件上传NeatUpload简单用法 (…

2014-09-25 13:23 239 查看
一般10M以下的文件上传通过设置Web.Config,再用VS2005自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不能这样上传了,这时可以用NeatUpload来上传,步骤如下:

1,在工具箱中添加Brettle.Web.NeatUpload.dll,方法:打开VS2005--->点击'工具箱'--->选中一项,如:'常规'这项--->单击右键--->在弹出的菜单中选'选择项'--->在弹出的窗口中选择'浏览'--->找到'Brettle.Web.NeatUpload.dll'这个文件
--->按确定就添加上了,这时工具箱中多出几个控件出来,有InputFile,progressbar 等,我们主要用这两个.

2.复制文件夹NeatUpload到根目录!!!(我就疏忽了这一点,导致进度条出不来!)

3.拖放使用上传控件InputFile和进度条ProgressBar,添加上传文件的按钮.aspx页面代码如下:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinkedContent.aspx.cs"

2 Inherits="Koodoo.Web.LinkedContent" %>

3

4 <%@ Register assembly="Brettle.Web.NeatUpload" namespace="Brettle.Web.NeatUpload" tagprefix="Upload" %>

5

6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

7 <html xmlns="http://www.w3.org/1999/xhtml">

8 <head runat="server">

9 <title></title>

10 </head>
11 <body id="linkedcontent">
12 <form id="form1" runat="server">

13 <div class="pagebox">

14 <div class="innerbox">

15 <Upload:InputFile ID="attachFile" runat="server" />

16 <asp:Button ID="btnUpload" Text="上传" runat="server" onclick="btnUpload_Click" />

17 <br />

18 <Upload:ProgressBar ID="ProgressBar1" runat="server" />

19 </div>

20 </div>

21 </form>

22 </body>
23 </html>

4.给上传按钮添加Upload_Click事件:

1 protected void Upload_Click(object sender, EventArgs e)

2 {

3 if (AttachFile.HasFile)

4 {

5 string FileName = this.AttachFile.FileName;//获取上传文件的文件名,包括后缀

6 string ExtenName = System.IO.Path.GetExtension(FileName);//获取扩展名

7 string SaveFileName = System.IO.Path.Combine(

8 System.Web.HttpContext.Current.Request.MapPath("UpLoads/"),

9 DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName);//合并两个路径为上传到服务器上的全路径

10 AttachFile.MoveTo(SaveFileName, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);

11 string url = "UpLoads/" + DateTime.Now.ToString("yyyyMMddhhmmss") + ExtenName; //文件保存的路径

12 float FileSize = (float)System.Math.Round((float)AttachFile.ContentLength / 1024000, 1); //获取文件大小并保留小数点后一位,单位是M

13 }

14 }

5.注意,要还在Web.Config里进行设置:

1 <configuration>

2

3 <configSections>

4

5 <sectionGroup name="system.web">

6

7 <section name="neatUpload"

8 type="Brettle.Web.NeatUpload.ConfigSectionHandler,Brettle.Web.NeatUpload" allowLocation="true" />

9

10 </sectionGroup>
11
12 </configSections>
13

14 <system.web>
15
16 <httpModules>
17
18 <!--上传大文件-->
19
20 <add name="UploadHttpModule"
21 type="Brettle.Web.NeatUpload.UploadHttpModule,Brettle.Web.NeatUpload"/>

22
23 </httpModules>
24

25 <!--useHttpModule="true"
设为true时才能看到上传状态,默认是False-->
26

27 <neatUpload useHttpModule="true" maxNormalRequestLength="1048576" maxRequestLength="1048576" defaultProvider="FilesystemUploadStorageProvider">

28
29 <providers>
30

31 <add name="FilesystemUploadStorageProvider"

32 type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>

33
34 </providers>
35

36 </neatUpload>

37
38 <httpRuntime maxRequestLength="1048576" executionTimeout="3600"/>

39
40 </system.web>
41
42 </configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: