上网下一个neatupload 1.2.32的压缩包:(附压缩包)
准备:
将压缩包中的Brettle.Web.NeatUpload.dll、Brettle.Web.NeatUpload.HashedInputFile.dll、Hitone.Web.SqlServerUploader.dll三个文件放到项目的Bin目录下(不确定这三个文件是否全都要用上,不管了,都用是没错的),然后对这三个文件添加引用.
将压缩包中的NeatUpload文件夹复制到项目的根目录下.
添加工具箱->选择项->浏览->选择刚复制的Brettle.Web.NeatUpload.dll文件,工具箱中就将添加相应的工具了.我测试用了两个:InputFile和ProgressBar.
修改Web.config文件
<configuration>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" /> <!-- NeatUpload添加配置(第一处) -->
</sectionGroup>
</configuration>
<system.web>
<httpModules>
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" /> <!-- NeatUpload添加配置(第二处) -->
</httpModules>
</system.web>
测试:
前台:
<head runat="server">
<title>上传测试</title>
<script type="text/javascript">
function ToggleVisibility(id,type){
var 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>
后台:
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 + "/UpLoadFiles/DownLoads", 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;
}
}
}
运行页面,OK.
测试这种方法可行,如何进行多个文件上传呢,进一步测试:
前台:
<script type="text/javascript">
function ToggleVisibility(classNameOne,type){
var el = [],allElements = document.getElementsByTagName('div');
for (var i=0; i< allElements.length; i++ )
{
if (allElements[i].className == classNameOne ) {
el.concat = allElements[i];
}
}
for (var j=0;j<el.length;j++)
{
if (el[j].style){
if (type=='on'){
el[j].style.display='block';
}
else{
el[j].style.display='none';
}
}
else{
if (type=='on'){
el[j].display='block';
}
else{
el[j].display='none';
}
}
}
}
</script>
......
<tr>
<td>上传文件包(供阅读使用 .zip包)</td>
<td>
<Upload:InputFile ID="InputFile2" runat="server" />
<div class="ProgressBar"><Upload:ProgressBar ID="ProgressBar1" runat='server'></Upload:ProgressBar></div>
</td>
</tr>
<tr>
<td>上传文件包(供下载使用 .rar包)</td>
<td>
<Upload:InputFile ID="InputFile1" runat="server" />
</td>
</tr>
后台:
//处理供下载的文件(上传到DownLoads文件夹中)
string BookDownFileName = "#";
string FileName = this.InputFile1.FileName;//获取上传文件的全路径
string ExtenName = System.IO.Path.GetExtension(FileName);//获取扩展名
if (sysData.GetExtend(FileName) != "rar")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('上传的文件必须是.rar的压缩包!');</script>");
return;
}
string NewFileName = DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName;
BookDownFileName = "/UpLoadFiles/DownLoads/" + NewFileName;
string SaveFileName = System.IO.Path.Combine(Request.PhysicalApplicationPath + "/UpLoadFiles/DownLoads", NewFileName);//合并两个路径为上传到服务器上的全路径
if (this.InputFile1.ContentLength > 0)
{
try
{
this.InputFile1.MoveTo(SaveFileName, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
}
catch (Exception ex)
{
throw ex;
}
}
//电子杂志(在线阅读使用)
string InputMagazineName = this.InputFile2.FileName;
if (sysData.GetExtend(InputMagazineName) != "zip")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('上传的杂志必须是扩展名为.zip的压缩包!');</script>");
return;
}
string FolderName = InputMagazineName.Substring(0, InputMagazineName.LastIndexOf("."));
string MagazineName = FolderName + ".zip";
if (this.InputFile2.ContentLength>0)
{
try
{
this.InputFile2.MoveTo( System.IO.Path.Combine(Request.PhysicalApplicationPath + "/UpLoadFiles", InputMagazineName), Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
}
catch (Exception ex)
{
throw ex;
}
}
运行页面,Ok.
问题:项目的中上传进度条会在一个弹出的小窗口中显示,没找到修改CSS的地方.现就是上传到服务器后,弹出的进度条小窗口不会自动关闭.
参考:http://www.cnblogs.com/langlang/archive/2009/12/11/1621730.html
准备:
将压缩包中的Brettle.Web.NeatUpload.dll、Brettle.Web.NeatUpload.HashedInputFile.dll、Hitone.Web.SqlServerUploader.dll三个文件放到项目的Bin目录下(不确定这三个文件是否全都要用上,不管了,都用是没错的),然后对这三个文件添加引用.
将压缩包中的NeatUpload文件夹复制到项目的根目录下.
添加工具箱->选择项->浏览->选择刚复制的Brettle.Web.NeatUpload.dll文件,工具箱中就将添加相应的工具了.我测试用了两个:InputFile和ProgressBar.
修改Web.config文件
<configuration>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" /> <!-- NeatUpload添加配置(第一处) -->
</sectionGroup>
</configuration>
<system.web>
<httpModules>
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" /> <!-- NeatUpload添加配置(第二处) -->
</httpModules>
</system.web>
测试:
前台:
<head runat="server">
<title>上传测试</title>
<script type="text/javascript">
function ToggleVisibility(id,type){
var 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>
后台:
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 + "/UpLoadFiles/DownLoads", 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;
}
}
}
运行页面,OK.
测试这种方法可行,如何进行多个文件上传呢,进一步测试:
前台:
<script type="text/javascript">
function ToggleVisibility(classNameOne,type){
var el = [],allElements = document.getElementsByTagName('div');
for (var i=0; i< allElements.length; i++ )
{
if (allElements[i].className == classNameOne ) {
el.concat = allElements[i];
}
}
for (var j=0;j<el.length;j++)
{
if (el[j].style){
if (type=='on'){
el[j].style.display='block';
}
else{
el[j].style.display='none';
}
}
else{
if (type=='on'){
el[j].display='block';
}
else{
el[j].display='none';
}
}
}
}
</script>
......
<tr>
<td>上传文件包(供阅读使用 .zip包)</td>
<td>
<Upload:InputFile ID="InputFile2" runat="server" />
<div class="ProgressBar"><Upload:ProgressBar ID="ProgressBar1" runat='server'></Upload:ProgressBar></div>
</td>
</tr>
<tr>
<td>上传文件包(供下载使用 .rar包)</td>
<td>
<Upload:InputFile ID="InputFile1" runat="server" />
</td>
</tr>
后台:
//处理供下载的文件(上传到DownLoads文件夹中)
string BookDownFileName = "#";
string FileName = this.InputFile1.FileName;//获取上传文件的全路径
string ExtenName = System.IO.Path.GetExtension(FileName);//获取扩展名
if (sysData.GetExtend(FileName) != "rar")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('上传的文件必须是.rar的压缩包!');</script>");
return;
}
string NewFileName = DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName;
BookDownFileName = "/UpLoadFiles/DownLoads/" + NewFileName;
string SaveFileName = System.IO.Path.Combine(Request.PhysicalApplicationPath + "/UpLoadFiles/DownLoads", NewFileName);//合并两个路径为上传到服务器上的全路径
if (this.InputFile1.ContentLength > 0)
{
try
{
this.InputFile1.MoveTo(SaveFileName, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
}
catch (Exception ex)
{
throw ex;
}
}
//电子杂志(在线阅读使用)
string InputMagazineName = this.InputFile2.FileName;
if (sysData.GetExtend(InputMagazineName) != "zip")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('上传的杂志必须是扩展名为.zip的压缩包!');</script>");
return;
}
string FolderName = InputMagazineName.Substring(0, InputMagazineName.LastIndexOf("."));
string MagazineName = FolderName + ".zip";
if (this.InputFile2.ContentLength>0)
{
try
{
this.InputFile2.MoveTo( System.IO.Path.Combine(Request.PhysicalApplicationPath + "/UpLoadFiles", InputMagazineName), Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
}
catch (Exception ex)
{
throw ex;
}
}
运行页面,Ok.
问题:项目的中上传进度条会在一个弹出的小窗口中显示,没找到修改CSS的地方.现就是上传到服务器后,弹出的进度条小窗口不会自动关闭.
参考:http://www.cnblogs.com/langlang/archive/2009/12/11/1621730.html
发表评论
-
ASP.net把datatable与list转成json输出
2014-12-10 12:02 824源代码: //DataTable转成Json ... -
开发问题集锦
2014-09-18 16:45 7131.SWFUpload问题 "触发uploadErr ... -
repeater嵌套使用
2014-09-16 18:38 776前台: <div id="m ... -
ASP.NET环境下使用KindEditor
2013-11-26 16:46 2908最新版的KindEditor,按照在线文档http://www ... -
ASP.NET+jQuery轮播效果
2013-08-21 08:03 2867<style type="text/css&q ... -
ASP.NET与Sql Server数据库的空数据的交互
2013-08-02 22:55 1001数据库中的字段:(1) ArticleId int型 外键 可 ... -
设置网页的Title、keywords和description
2013-03-20 15:35 877protected void Page_Load(obje ... -
再谈<<在ASP.NET中重写URL>>
2013-02-20 09:17 897将之前的<<在ASP.NET中重写URL>& ... -
VS2010母版版引入js和css文件
2012-10-31 17:15 876动态引入js文件和css样式表文件 1 引入js文件 Ht ... -
.NET网站中利用jQuery Ajax获取后台数据
2011-12-19 11:59 3334一般处理程序 using System.Web.Script. ... -
解决:Sys.WebForms.PageRequestManagerServerErrorException(status code 500 OR 12031)
2011-12-09 10:21 1280解决:Sys.WebForms.PageRequestMana ... -
在ASP.NET中重写URL
2011-12-08 18:02 759目标:将网页地址伪静态 实现:在Global.asax中改写: ... -
ashx文件使用Session(转)
2011-12-02 11:25 859查阅MSDN得到ashx文件要使用Session,必须实现Se ... -
作品展示
2011-11-05 16:27 828刚开发完成 看一下效果 [img][/img] ... -
asp .NET弹出窗口汇总(转)
2011-08-16 09:39 622注: //关闭,父窗口弹出对话框,子窗口直接关闭 this ... -
精通ASP.NET中弹出窗口技术(转)
2011-08-16 09:36 924摘要:本文讨论如 ... -
asp.net中的验证控件的使用
2010-04-07 16:35 1013前台: <h4>验证控件使用测试< ... -
.net利用AJAX实现局部刷新
2010-04-07 16:30 3348前台: <div> ... -
一个SQL Server2000和2005都能用的分页方法
2010-04-07 16:25 1033(1)存储过程(SQL2000和2005下都可用): ... -
数据控件+PagedDataSource完成分页
2010-04-07 15:59 1049前台: <asp:Repeater ...
相关推荐
标题“asp.net上传大文件”表明我们将讨论如何在ASP.NET框架下处理大容量的文件上传。描述提到,不仅可以上传无限大小的文件,还能实现多文件选择,并且可以设定上传文件的大小限制,这涉及到了文件上传的性能优化和...
在ASP.NET中,上传大文件并显示进度条是一项常见的需求,尤其在用户可能需要等待较长时间的情况下,进度条可以提供良好的用户体验。以下是对这个主题的详细讲解。 首先,ASP.NET默认上传文件大小有限制,通常为4MB...
用ASP.NET上传大文件,和基于大文件上传一下常用的控件。
在ASP.NET环境中,上传大文件是一项常见的需求,特别是在处理用户提交的多媒体内容或者大量数据时。本示例主要探讨如何在ASP.NET应用中实现大文件的上传,涉及到的关键技术包括C#编程语言、多部分表单数据处理以及流...
ASP.NET上传大文件显示进度条百分比是一个常见且实用的需求,特别是在处理用户可能上传的大型媒体文件或数据文件时。SwfUpload是一个流行的JavaScript库,它允许在Flash环境中实现文件上传,同时也支持显示上传进度...
本主题将深入探讨“asp.net上传大文件组件基于flash”的相关知识点。 首先,我们需要理解为什么选择基于Flash的解决方案。Flash是一种广泛使用的多媒体平台,它可以提供跨浏览器和跨操作系统的富互联网应用程序...
总结来说,ASP.NET上传大文件涉及配置修改、分块上传、进度反馈、文件合并以及错误和安全处理等多个环节。实际开发中,需要根据具体需求和场景选择合适的方法,并优化用户体验。提供的压缩包文件可能包含示例代码,...
在这个特定的例子中,我们关注的是如何在ASP.NET中处理大文件的上传,使用了一个名为NeatUpload的第三方控件。 NeatUpload是一款强大的文件上传控件,特别适合处理大文件的上传。它允许用户在不受浏览器或服务器...
在ASP.NET中实现批量文件上传是一项常见的需求,尤其在处理大量用户数据时。在这个场景下,我们可以使用jQuery库中的`jquery.form`插件来增强页面的交互性,并结合ASP.NET后端技术,实现异步、无刷新的批量文件上传...
本文将围绕“用ASP.NET上传大文件”的主题展开讨论,通过解析标题与描述中的关键信息,详细介绍在ASP.NET环境中实现大文件上传的技术要点。 #### 二、ASP.NET大文件上传面临的挑战 1. **内存限制**:默认情况下,...
总的来说,解决ASP.NET上传大文件到服务器失败的问题,需要综合考虑服务器配置、代码实现、客户端支持以及服务器性能等因素。通过合理配置和采用合适的上传策略,可以有效地处理大文件上传,提升用户体验。
在ASP.NET环境中,大文件上传是一项常见的需求,特别是在处理视频、图像和其他大型数据时。Telerik控件库提供了一个高效且用户友好的解决方案。在这个"asp.net + telerik大文件上传案例"中,我们将深入探讨如何利用...
在处理大文件上传时,ASP.NET需要特别的处理,因为默认情况下,它对上传文件的大小有限制,通常为4MB左右。针对超大文件上传的需求,开发者通常需要采取一些策略来优化和扩展这一功能,同时加入进度条显示可以提升...
ASP.NET单文件带进度条上传解决方案 本文主要讲述了ASP.NET单文件带进度条上传的解决方案,通过使用jquery框架和ASP.NET缓存机制,实现了文件上传和进度条显示的功能。 知识点1:使用jquery框架实现文件上传 在...
在ASP.NET平台上,使用C#开发时,上传大文件一直是一个挑战,因为默认情况下,ASP.NET对文件上传的大小有4MB的限制。...在项目中,可以参考压缩包中的"asp.net上传大文件"源码,结合上述知识点进行实践和学习。
ASP.NET大文件上传是Web开发中的一个重要话题,尤其是在处理用户可能需要上传大量数据或大型多媒体文件的场景。本文将深入探讨ASP.NET实现大文件上传的原理、相关技术以及提供的源码解析。 首先,ASP.NET是一种微软...
当我们面临大文件上传的需求时,ASP.NET提供了一些策略和技巧来优化这一过程。 首先,了解ASP.NET MVC中的文件上传机制。默认情况下,ASP.NET MVC使用`HttpPostedFileBase`类来处理文件上传。用户通过表单提交文件...
在ASP.NET中,文件操作是常见的任务,包括文件的上传、读取和删除。这些功能在网站应用中尤其重要,例如用户需要上传个人照片、下载文档或者清除不再需要的文件。接下来,我们将深入探讨如何在ASP.NET环境中实现这些...
最近涉及到用asp.net做上传功能的一个问题,因为asp.net有fileupload的上传控件,但是这个控件上传的文件大小有限,所以根本满足不了需求百度了下,很多人遇到asp.net上传超大文件的困惑,偶尔搜索发现csdn有个哥们...