NeatUpload的安装使用

NeatUpload的安装使用版本:NeatUpload-1.2.32,用于文件上传。可传大文件。1.在VS工具箱中点右键选“选择项”……将Brettle.Web.NeatUpload.dll添加到工具箱。可以在添加后的工具箱看到

大家好,又见面了,我是你们的朋友全栈君。

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

 

1.VS工具箱中点右键选“选择项”…… Brettle.Web.NeatUpload.dll添加到工具箱。

<span role="heading" aria-level="2">NeatUpload的安装使用

可以在添加后的工具箱看到相应控件。

<span role="heading" aria-level="2">NeatUpload的安装使用

 

2.新建web项目。将NeatUpload复制到项目根目录。

<span role="heading" aria-level="2">NeatUpload的安装使用

3.修改Web.config

 

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

 

<configuration>

 

    <configSections>

        <sectionGroup name=system.web>

            <sectionname=neatUploadtype=Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUploadallowLocation=true />

        </sectionGroup>

    </configSections>

 

    <appSettings/>

    <connectionStrings/>

 

    <system.web>

        <neatUploaduseHttpModule=falsemaxNormalRequestLength=4096maxRequestLength=2097151defaultProvider=FilesystemUploadStorageProvider>

            <providers>

                <addname=FilesystemUploadStorageProvider

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

            </providers>

        </neatUpload>

        <compilation debug=false>

        </compilation>

        <authentication mode=Windows />

        <httpModules>

            <!–如果不加这httpmodules,进度条不显示–>

           <addname=UploadHttpModuletype=Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload/>

        </httpModules>

    </system.web>

    <location path=Default.aspx >

        <system.web>

            <neatUploaduseHttpModule=true />

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

        </system.web>

    </location>

</configuration>

 

 

 

现在可以拖拽控件开始编程了。

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>

 

 

设计页面如下:

<span role="heading" aria-level="2">NeatUpload的安装使用

 

5.按钮事件处理函数:

 

protected void Upload_Click(object sender, EventArgs e)

        {

            string FileName = this.AttachFile.FileName;//获取上传文件的全路径

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

            string SaveFileName = System.IO.Path.Combine(Request.PhysicalApplicationPath, DateTime.Now.ToString(“yyyyMMddhhmm”) + ExtenName);//合并两个路径为上传到服务器上的全路径

            if (this.AttachFile.ContentLength > 0)

            {

                try

                {

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

                }

                catch (Exception ex)

                {

                    throw ex;

                }

            }

        }

 

 

做到这里程序就可以运行的了。

默认的进度条的样式是可以修改的。

主要修改default.cssProgress.aspx及ProgressBar控件的属性

<span role="heading" aria-level="2">NeatUpload的安装使用

 

default.css修改部分:

 

.ProgressDisplay .ProgressBar {

      background-color: #D7E5F7;

      background-image: url(“/11.gif”)/*进度条背景图片*/

      height:20px;

}

#normalInProgress{

     color: Red;      /*进度条字体颜色*/

}

#completed{

     color:Blue;   /*上传完成的字体颜色*/

}

 

 

Progress.aspx是显示进度条的核心文件,相关数据的显示都在里面。

 

<td id=”barTd” >

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

 

                   <Upload:DetailsSpan id=”normalInProgress” runat=”server” WhenStatus=”NormalInProgress” style=”font-weight: normal; white-space: nowrap;“>                                <%—  正在上传时显示的   —%>

                   <%— <%# 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-weight: normal; white-space: nowrap;“>       

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

                       at <%# FormatRate(BytesPerSec) %>

                       – <%# FormatTimeSpan(TimeElapsed) %> elapsed

                   </Upload:DetailsSpan>

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

                       <%—  上传完成时显示的   —%>

完成了: <%# 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>

 

 

程序的效果图如下:

上传前:

<span role="heading" aria-level="2">NeatUpload的安装使用

 

上传中:

<span role="heading" aria-level="2">NeatUpload的安装使用

 

上传结束:

 

<span role="heading" aria-level="2">NeatUpload的安装使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155286.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月2日 下午1:16
下一篇 2022年7月2日 下午1:16


相关推荐

  • 【ARM64】DTB地址从uboot传递到kernel的流程

    【ARM64】DTB地址从uboot传递到kernel的流程前言 nbsp nbsp nbsp nbsp 最近在移植一款蓝牙芯片的过程中用到了设备树 一开始在研究 kernel 是怎么解析 DTB 的 后来就很好奇 kernel 是怎么找到 DTB 的 所以就有了这篇文章 纯粹记录一下自己的学习过程吧 正文 nbsp nbsp nbsp nbsp 下面我就从两个阶段来讲述 第一个阶段就是 uboot 是怎么将 DTB 的地址传递给 kernel 第二个阶段就是 kernel 怎么根据 DTB 的地址 并解析 DTB 的 uboot 阶

    2026年3月18日
    2
  • 配置二层交换机Vlan_华为模拟器交换机配置

    配置二层交换机Vlan_华为模拟器交换机配置二层交换机VLAN基础配置

    2025年11月13日
    5
  • [LeetCode]Remove Duplicates from Sorted Array

    [LeetCode]Remove Duplicates from Sorted Array

    2022年1月27日
    48
  • 数据库的查询语句_数据库select from where

    数据库的查询语句_数据库select from where一、温馨提示在dos窗口登录mysql,这里面使用库,给库中表添加一条中文数据—-会出现插入数据有问题,中文错误这是因为:1、在dos窗口中,默认的编码格式gbk,而mysql服务器软件使用的编码utf82、在dos窗口输入一个指令,模糊查询当前mysql数据库中所有带有”character”字符集的变量全部出来SHOWVARIABLESLIKE’%character%’;3、在dos窗口中需要修改setchar…

    2025年10月3日
    4
  • oc 可变參数传递

    oc 可变參数传递

    2022年1月24日
    69
  • UML一一 类图关系 (泛化、实现、依赖、关联、聚合、组合)[通俗易懂]

    UML一一 类图关系 (泛化、实现、依赖、关联、聚合、组合)[通俗易懂]目录类图关系概述面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,一个设计良好的类,应该是兼顾信息和行为并且高内聚。而不同的类之间,应该做到松耦合。当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的关系可以分为以下几类:泛化关系实现关系依赖关…

    2022年7月12日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号