NeatUpload的安装使用
版本: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的安装使用相关推荐
- 开源的大文件上传组件NeatUpload™
支持.net 1.1 .NET 2.0 这里是 live demo 很不容易发现的,在.net下面要找个开源的东西真是难也. 当然大文件上传有很多组件比如ABCUPLOAD SlickUpload不过 ...
- linux环境下nacos的安装+启动,阿里云服务器安装nacos
nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...
- 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: ...
- Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!
最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...
- 在docker上安装部署tomcat项目 超简单,拿来主义
在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...
- docker一步安装mysql,docker的魅力就在于此
正常来说,使用docker安装东西的步骤是serach它有没有,然后pull它 这里其实只要一步(如果你没有安装过.没有端口占用等问题的话!!) $ docker run -d -p 3306:330 ...
- Linux下tomcat的安装与卸载以及配置(超简单)
无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...
- Linux下安装Java8
Linux(ubuntu)下Java8安装 1.下载jdk8 这个看大家了,linux版本的就可以 2.创建jvm文件夹 在根目录下创建名为jvm的文件夹(在哪里创建看个人) $ sudo mkdir ...
- Linux安装mysql,一步到位!
今天在腾讯云上面买了一个服务器,想要把自己的项目部署一下,就要安装mysql,以下是我的安装步骤,在网上有很多人把install敲错了,还有的少-get,种种错误试完之后,我决定发一篇 sudo ap ...
最新文章
- html无序列表空心圆_列表样式的使用CSS入门基础(018)
- JavaScript实现冒泡排序
- tensorflow mnist 1
- TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略
- php测试框架,PHPUnit使用
- Redux从入门到进阶,看这一篇就够了!
- NativeScript - JS 构建跨平台的原生 APP
- LeetCode 111. Minimum Depth of Binary Tree
- mysql 5.6 binlog组提交
- 思科交换机Portfast和Uplinkfast配置实验
- Ⅴ0还有别的方法设置图案吗_定制汽车硅胶按键你知道厂家是怎么给汽车按键镭雕的吗...
- LeetCode -- Sort List
- ASP.NET读取POP3邮件的操作
- 如何真正学好数据科学?
- 大一计算机上机考试模拟试题,计算机等级考试二级上机模拟试题(1)
- Winform的菜单控件
- Verilog 语言2选1数据选择器
- 复现monodepth2之KITTI数据集准备
- linux zip unzip 命令
- 参照系(参考系)与参照物的区别
热门文章
- html模板是干嘛的,html模板有什么用
- ajax返回显示下拉列表,ajax中网页传输(二)JSON——下拉列表显示练习(示例代码)...
- 008_TreeSet使用Comparator排序
- xgboost 正则项_深入理解Boosting算法(4)-XGBoost
- WebDriverAgent安装到iphone真机
- python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
- mos管电路_【鼎阳硬件智库原创︱电源】 MOS管驱动电路的设计
- windoes server 关闭服务端口方法、漏洞补丁解决
- android启动程序唤起其它app,安卓和rn唤起其他app应用
- 实现快速排序的算法_排序算法-快速排序