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

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

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

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

3.修改Web.config

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

<configuration>

<configSections>

<sectionGroup name="system.web">

            <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />

</sectionGroup>

</configSections>

<appSettings/>

<connectionStrings/>

<system.web>

        <neatUpload useHttpModule="false" maxNormalRequestLength="4096" maxRequestLength="2097151" defaultProvider="FilesystemUploadStorageProvider">

            <providers>

                <add name="FilesystemUploadStorageProvider"

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

            </providers>

        </neatUpload>

<compilation debug="false">

</compilation>

<authentication mode="Windows" />

<httpModules>

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

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

</httpModules>

</system.web>

<location path="Default.aspx" >

<system.web>

<neatUpload useHttpModule="true" />

<httpRuntime maxRequestLength="2097151" executionTimeout="3600" useFullyQualifiedRedirectUrl="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>

设计页面如下:

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.css、Progress.aspx及ProgressBar控件的属性。

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>

程序的效果图如下:

上传前:

上传中:

上传结束:

转载于:https://www.cnblogs.com/langlang/archive/2009/12/11/1621730.html

NeatUpload的安装使用相关推荐

  1. 开源的大文件上传组件NeatUpload™

    支持.net 1.1 .NET 2.0 这里是 live demo 很不容易发现的,在.net下面要找个开源的东西真是难也. 当然大文件上传有很多组件比如ABCUPLOAD SlickUpload不过 ...

  2. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  3. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  4. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  5. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  6. docker一步安装mysql,docker的魅力就在于此

    正常来说,使用docker安装东西的步骤是serach它有没有,然后pull它 这里其实只要一步(如果你没有安装过.没有端口占用等问题的话!!) $ docker run -d -p 3306:330 ...

  7. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  8. Linux下安装Java8

    Linux(ubuntu)下Java8安装 1.下载jdk8 这个看大家了,linux版本的就可以 2.创建jvm文件夹 在根目录下创建名为jvm的文件夹(在哪里创建看个人) $ sudo mkdir ...

  9. Linux安装mysql,一步到位!

    今天在腾讯云上面买了一个服务器,想要把自己的项目部署一下,就要安装mysql,以下是我的安装步骤,在网上有很多人把install敲错了,还有的少-get,种种错误试完之后,我决定发一篇 sudo ap ...

最新文章

  1. html无序列表空心圆_列表样式的使用CSS入门基础(018)
  2. JavaScript实现冒泡排序
  3. tensorflow mnist 1
  4. TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略
  5. php测试框架,PHPUnit使用
  6. Redux从入门到进阶,看这一篇就够了!
  7. NativeScript - JS 构建跨平台的原生 APP
  8. LeetCode 111. Minimum Depth of Binary Tree
  9. mysql 5.6 binlog组提交
  10. 思科交换机Portfast和Uplinkfast配置实验
  11. Ⅴ0还有别的方法设置图案吗_定制汽车硅胶按键你知道厂家是怎么给汽车按键镭雕的吗...
  12. LeetCode -- Sort List
  13. ASP.NET读取POP3邮件的操作
  14. 如何真正学好数据科学?
  15. 大一计算机上机考试模拟试题,计算机等级考试二级上机模拟试题(1)
  16. Winform的菜单控件
  17. Verilog 语言2选1数据选择器
  18. 复现monodepth2之KITTI数据集准备
  19. linux zip unzip 命令
  20. 参照系(参考系)与参照物的区别

热门文章

  1. html模板是干嘛的,html模板有什么用
  2. ajax返回显示下拉列表,ajax中网页传输(二)JSON——下拉列表显示练习(示例代码)...
  3. 008_TreeSet使用Comparator排序
  4. xgboost 正则项_深入理解Boosting算法(4)-XGBoost
  5. WebDriverAgent安装到iphone真机
  6. python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
  7. mos管电路_【鼎阳硬件智库原创︱电源】 MOS管驱动电路的设计
  8. windoes server 关闭服务端口方法、漏洞补丁解决
  9. android启动程序唤起其它app,安卓和rn唤起其他app应用
  10. 实现快速排序的算法_排序算法-快速排序