NeatUpload的安装使用

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

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

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

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

3.修改Web.config

<?xmlversion="1.0"encoding="utf-8"?>

<configuration>

<configSections>

<sectionGroupname="system.web">

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

</sectionGroup>

</configSections>

<appSettings/>

<connectionStrings/>

<system.web>

<neatUploaduseHttpModule="false"maxNormalRequestLength="4096"maxRequestLength="2097151"defaultProvider="FilesystemUploadStorageProvider">

<providers>

<addname="FilesystemUploadStorageProvider"

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

</providers>

</neatUpload>

<compilationdebug="false">

</compilation>

<authenticationmode="Windows" />

<httpModules>

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

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

</httpModules>

</system.web>

<locationpath="Default.aspx" >

<system.web>

<neatUploaduseHttpModule="true" />

<httpRuntimemaxRequestLength="2097151"executionTimeout="3600"useFullyQualifiedRedirectUrl="true" />

</system.web>

</location>

</configuration>

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

4.aspx页面代码如下:

<headrunat="server">

<title> NeatUpload </title>

<scripttype="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>

<formid="form1"runat="server">

<div>

<Upload:InputFileID="AttachFile"runat="server" />

<asp:ButtonID="Upload"runat="server" Text="Upload"

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

<divid="ProgressBar">

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

Height="50px">

</Upload:ProgressBar>

</div>

</div>

</form>

</body>

</html>

设计页面如下:

5.按钮事件处理函数:

protectedvoid 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控件的属性

default.css修改部分:

.ProgressDisplay.ProgressBar {

background-color:#D7E5F7;

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

height:20px;

}

#normalInProgress{

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

}

#completed{

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

}

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

<tdid="barTd">

<divid="statusDiv"runat="server" class="StatusMessage">

<Upload:DetailsSpanid="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:DetailsSpanid="chunkedInProgress"runat="server"WhenStatus="ChunkedInProgress"style="font-weight:normal;white-space:nowrap;">

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

at <%# FormatRate(BytesPerSec) %>

- <%# FormatTimeSpan(TimeElapsed) %> elapsed

</Upload:DetailsSpan>

<Upload:DetailsSpanid="completed"runat="server" WhenStatus="Completed">

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

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

at <%# FormatRate(BytesPerSec) %>

took <%# FormatTimeSpan(TimeElapsed) %>

</Upload:DetailsSpan>

<Upload:DetailsSpanid="cancelled"runat="server" WhenStatus="Cancelled">

Cancelled!

</Upload:DetailsSpan>

<Upload:DetailsSpanid="rejected"runat="server" WhenStatus="Rejected">

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

</Upload:DetailsSpan>

<Upload:DetailsSpanid="error"runat="server" WhenStatus="Failed">

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

</Upload:DetailsSpan>

<Upload:DetailsDivid="barDetailsDiv"runat="server"UseHtml4="true"

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

</div>

</td>

程序的效果图如下:

上传前:

上传中:

上传结束:

去掉版权"(Powered by NeatUpload)"文字

打开Brettle.Web.NeatUpload->Brettle.Web.NeatUpload->InputFile.cs文件,拖到最后

if (UploadModule.IsEnabled)

{

// The constant strings below are broken apart so that you couldn't just search for the text and

// remove it. To find this code, you probably had to understand enough about custom web controls

// to know where to look.People who can't find this code are generally less experienced, harder

// to support, and less likely to submit patches.So they contribute in another way when they

// use NeatUpload - they contribute by advertising it.If they don't want to do that, they can

// always have someone more capable find and remove the code for them (probably for a fee).

// For more information, see the "Branding, Licensing, and the Trademark" section in

// docs/Manual.html.

writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize,"smal" + "ler");

writer.RenderBeginTag(HtmlTextWriterTag.Span);

writer.Write("&nbsp;(" +"wer" + "ed&nb" +"sp;by&nb" + "sp;");

writer.AddAttribute(HtmlTextWriterAttribute.Target,"_bla" + "nk");

writer.AddAttribute(HtmlTextWriterAttribute.Href,

"htt" +"p://ww" + "w.bre" +"ttle." + "com/" +"neat" + "upload");

writer.RenderBeginTag(HtmlTextWriterTag.A);

writer.Write("Neat" +"Upload");

writer.RenderEndTag(); // a

writer.Write(")");

writer.RenderEndTag(); // span

}

把上面的删除或注释掉,再重新生成即可;仔细看看已经被注释掉的e文,呵呵 那程序员还真逗...


另外上传完成后如果不想进度条自动关闭的话把NeatUpload文件夹下面的Progress.js文件的最后一个方法的if else 删掉或注释掉即可

function NeatUploadClose(progressBarID)

{

// if (NeatUploadMainWindow && NeatUploadMainWindow.NeatUploadPB

// && NeatUploadMainWindow.NeatUploadPB.prototype.Bars[progressBarID].EvalOnClose)

// eval(NeatUploadMainWindow.NeatUploadPB.prototype.Bars[progressBarID].EvalOnClose);

// else

// window.close();

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值