电竞比分网-中国电竞赛事及体育赛事平台

分享

NeatUpload的安裝使用

 悟靜 2014-07-05

版本:NeatUpload-1.2.32,用于文件上傳。可傳大文件。

 

1.VS工具箱中點(diǎn)右鍵選“選擇項(xiàng)”…… Brettle.Web.NeatUpload.dll添加到工具箱。

可以在添加后的工具箱看到相應(yīng)控件。

 

2.新建web項(xiàng)目。將NeatUpload復(fù)制到項(xiàng)目根目錄。

3.修改Web.config

<?xml version="1.0encoding="utf-8"?>

 

<configuration>

 

    <configSections>

        <sectionGroup name="system.web">

            <section name="neatUploadtype="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUploadallowLocation="true" />

        </sectionGroup>

    </configSections>

 

    <appSettings/>

    <connectionStrings/>

 

    <system.web>

        <neatUpload useHttpModule="falsemaxNormalRequestLength="4096maxRequestLength="2097151defaultProvider="FilesystemUploadStorageProvider">

            <providers>

                <add name="FilesystemUploadStorageProvider"

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

            </providers>

        </neatUpload>

        <compilation debug="false">

        </compilation>

        <authentication mode="Windows" />

        <httpModules>

            <!--如果不加這httpmodules,進(jìn)度條不顯示-->

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

        </httpModules>

    </system.web>

    <location path="Default.aspx" >

        <system.web>

            <neatUpload useHttpModule="true" />

            <httpRuntime maxRequestLength="2097151executionTimeout="3600useFullyQualifiedRedirectUrl="true" />

        </system.web>

    </location>

</configuration>

 

 

現(xiàn)在可以拖拽控件開始編程了。

4.aspx頁面代碼如下:

<head runat="server">

    <title> NeatUpload </title>

    <script type="text/javascript" language="javascript">

       function ToggleVisibility(id, type)

       {

           el = document.getElementById(id);

           if(el.style)

           {

               if(type == 'on')

               { 

                  el.style.display = 'block';

               }

               else

               { 

                  el.style.display = 'none';

               }

           }

           else

           {

               if(type == 'on')

               { 

                   el.display = 'block';

               }

               else

               {      

                  el.display = 'none';

               }

           }

       }

   </script>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <Upload:InputFile ID="AttachFile" runat="server" />

   <asp:Button ID="Upload" runat="server" Text="Upload"

            OnClientClick="ToggleVisibility('ProgressBar','on')" onclick="Upload_Click" />

       <div id="ProgressBar" >

       <Upload:ProgressBar ID="pbProgressBar" runat='server' Inline="true" Width="280px"

               Height="50px">

       </Upload:ProgressBar>

   </div>

   </div>

    </form>

</body>

</html>

 

設(shè)計(jì)頁面如下:

 

5.按鈕事件處理函數(shù):

protected void Upload_Click(object sender, EventArgs e)

        {

            string FileName = this.AttachFile.FileName;//獲取上傳文件的全路徑

            string ExtenName = System.IO.Path.GetExtension(FileName);//獲取擴(kuò)展名

            string SaveFileName = System.IO.Path.Combine(Request.PhysicalApplicationPath, DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName);//合并兩個(gè)路徑為上傳到服務(wù)器上的全路徑

            if (this.AttachFile.ContentLength > 0)

            {

                try

                {

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

                }

                catch (Exception ex)

                {

                    throw ex;

                }

            }

        }

 

做到這里程序就可以運(yùn)行的了。

默認(rèn)的進(jìn)度條的樣式是可以修改的。

主要修改default.css、Progress.aspx及ProgressBar控件的屬性。

 

default.css修改部分:

.ProgressDisplay .ProgressBar {

      background-color#D7E5F7;

      background-imageurl("/11.gif")/*進(jìn)度條背景圖片*/

      height:20px;

}

#normalInProgress{

     colorRed;      /*進(jìn)度條字體顏色*/

}

#completed{

     color:Blue;   /*上傳完成的字體顏色*/

}

 

Progress.aspx是顯示進(jìn)度條的核心文件,相關(guān)數(shù)據(jù)的顯示都在里面。

<td id="barTd" >

              <div id="statusDiv" runat="server" class="StatusMessage">

 

                   <Upload:DetailsSpan id="normalInProgress" runat="server" WhenStatus="NormalInProgress" style="font-weightnormalwhite-spacenowrap;">                                <%--  正在上傳時(shí)顯示的   --%>

                   <%-- <%# FormatCount(BytesRead) %>/<%# FormatCount(BytesTotal) %> <%# CountUnits %> --%>

                  (<%# String.Format("{0:0%}", FractionComplete) %>) at <%# FormatRate(BytesPerSec) %>

                   <%-- - <%# FormatTimeSpan(TimeRemaining) %> left        --%>

                   </Upload:DetailsSpan>

 

                   <Upload:DetailsSpan id="chunkedInProgress" runat="server" WhenStatus="ChunkedInProgress" style="font-weightnormalwhite-spacenowrap;">       

                    <%# FormatCount(BytesRead) %> <%# CountUnits %>

                       at <%# FormatRate(BytesPerSec) %>

                       - <%# FormatTimeSpan(TimeElapsed) %> elapsed

                   </Upload:DetailsSpan>

                   <Upload:DetailsSpan id="completed" runat="server" WhenStatus="Completed">

                       <%--  上傳完成時(shí)顯示的   --%>

完成了: <%# FormatCount(BytesRead) %> <%# CountUnits %>

                       at <%# FormatRate(BytesPerSec) %>

                       took <%# FormatTimeSpan(TimeElapsed) %>

                   </Upload:DetailsSpan>

                   <Upload:DetailsSpan id="cancelled" runat="server" WhenStatus="Cancelled">

                       Cancelled!

                   </Upload:DetailsSpan>

                   <Upload:DetailsSpan id="rejected" runat="server" WhenStatus="Rejected">

                       Rejected: <%# Rejection != null ? Rejection.Message : "" %>

                   </Upload:DetailsSpan>

                   <Upload:DetailsSpan id="error" runat="server" WhenStatus="Failed">

                       Error: <%# Failure != null ? Failure.Message : "" %>

                   </Upload:DetailsSpan>

                   <Upload:DetailsDiv id="barDetailsDiv" runat="server" UseHtml4="true"

                        Width='<%# Unit.Percentage(Math.Floor(100*FractionComplete)) %>' class="ProgressBar"></Upload:DetailsDiv> 

              </div>

         </td>

 

程序的效果圖如下:

上傳前:

 

上傳中:

 

上傳結(jié)束:

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約