`
yangle926
  • 浏览: 58344 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

ASP.NET上传大文件

    博客分类:
  • .NET
 
阅读更多
上网下一个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
  • 大小: 6.3 KB
  • 大小: 78.2 KB
分享到:
评论

相关推荐

    asp.net上传大文件

    标题“asp.net上传大文件”表明我们将讨论如何在ASP.NET框架下处理大容量的文件上传。描述提到,不仅可以上传无限大小的文件,还能实现多文件选择,并且可以设定上传文件的大小限制,这涉及到了文件上传的性能优化和...

    asp.net 上传大文件进度条显示

    在ASP.NET中,上传大文件并显示进度条是一项常见的需求,尤其在用户可能需要等待较长时间的情况下,进度条可以提供良好的用户体验。以下是对这个主题的详细讲解。 首先,ASP.NET默认上传文件大小有限制,通常为4MB...

    大文件上传源码,用ASP.NET上传大文件

    用ASP.NET上传大文件,和基于大文件上传一下常用的控件。

    asp.net 上传大文件例子

    在ASP.NET环境中,上传大文件是一项常见的需求,特别是在处理用户提交的多媒体内容或者大量数据时。本示例主要探讨如何在ASP.NET应用中实现大文件的上传,涉及到的关键技术包括C#编程语言、多部分表单数据处理以及流...

    asp.net上传大文件显示进度条百分比(swfupload)完整源码C#

    ASP.NET上传大文件显示进度条百分比是一个常见且实用的需求,特别是在处理用户可能上传的大型媒体文件或数据文件时。SwfUpload是一个流行的JavaScript库,它允许在Flash环境中实现文件上传,同时也支持显示上传进度...

    asp.net上传大文件组件基于flash

    本主题将深入探讨“asp.net上传大文件组件基于flash”的相关知识点。 首先,我们需要理解为什么选择基于Flash的解决方案。Flash是一种广泛使用的多媒体平台,它可以提供跨浏览器和跨操作系统的富互联网应用程序...

    asp.net 上传大文件例题

    总结来说,ASP.NET上传大文件涉及配置修改、分块上传、进度反馈、文件合并以及错误和安全处理等多个环节。实际开发中,需要根据具体需求和场景选择合适的方法,并优化用户体验。提供的压缩包文件可能包含示例代码,...

    ASP.NET 上传大文件

    在这个特定的例子中,我们关注的是如何在ASP.NET中处理大文件的上传,使用了一个名为NeatUpload的第三方控件。 NeatUpload是一款强大的文件上传控件,特别适合处理大文件的上传。它允许用户在不受浏览器或服务器...

    asp.net 批量上传文件

    在ASP.NET中实现批量文件上传是一项常见的需求,尤其在处理大量用户数据时。在这个场景下,我们可以使用jQuery库中的`jquery.form`插件来增强页面的交互性,并结合ASP.NET后端技术,实现异步、无刷新的批量文件上传...

    用ASP.NET上传大文件

    本文将围绕“用ASP.NET上传大文件”的主题展开讨论,通过解析标题与描述中的关键信息,详细介绍在ASP.NET环境中实现大文件上传的技术要点。 #### 二、ASP.NET大文件上传面临的挑战 1. **内存限制**:默认情况下,...

    ASP.NET上传大文件到服务器失败解决方案.doc

    总的来说,解决ASP.NET上传大文件到服务器失败的问题,需要综合考虑服务器配置、代码实现、客户端支持以及服务器性能等因素。通过合理配置和采用合适的上传策略,可以有效地处理大文件上传,提升用户体验。

    asp.net +telerik大文件上传案例

    在ASP.NET环境中,大文件上传是一项常见的需求,特别是在处理视频、图像和其他大型数据时。Telerik控件库提供了一个高效且用户友好的解决方案。在这个"asp.net + telerik大文件上传案例"中,我们将深入探讨如何利用...

    asp.net 超大文件上传,带进度条源码,亲测能用

    在处理大文件上传时,ASP.NET需要特别的处理,因为默认情况下,它对上传文件的大小有限制,通常为4MB左右。针对超大文件上传的需求,开发者通常需要采取一些策略来优化和扩展这一功能,同时加入进度条显示可以提升...

    【ASP.NET编程知识】asp.net单文件带进度条上传的解决方案.docx

    ASP.NET单文件带进度条上传解决方案 本文主要讲述了ASP.NET单文件带进度条上传的解决方案,通过使用jquery框架和ASP.NET缓存机制,实现了文件上传和进度条显示的功能。 知识点1:使用jquery框架实现文件上传 在...

    asp.net 上传1G文件 c#

    在ASP.NET平台上,使用C#开发时,上传大文件一直是一个挑战,因为默认情况下,ASP.NET对文件上传的大小有4MB的限制。...在项目中,可以参考压缩包中的"asp.net上传大文件"源码,结合上述知识点进行实践和学习。

    asp.net大文件上传源码

    ASP.NET大文件上传是Web开发中的一个重要话题,尤其是在处理用户可能需要上传大量数据或大型多媒体文件的场景。本文将深入探讨ASP.NET实现大文件上传的原理、相关技术以及提供的源码解析。 首先,ASP.NET是一种微软...

    asp.net快速上传大文件

    当我们面临大文件上传的需求时,ASP.NET提供了一些策略和技巧来优化这一过程。 首先,了解ASP.NET MVC中的文件上传机制。默认情况下,ASP.NET MVC使用`HttpPostedFileBase`类来处理文件上传。用户通过表单提交文件...

    asp.net上传、读出、删除文件

    在ASP.NET中,文件操作是常见的任务,包括文件的上传、读取和删除。这些功能在网站应用中尤其重要,例如用户需要上传个人照片、下载文档或者清除不再需要的文件。接下来,我们将深入探讨如何在ASP.NET环境中实现这些...

    Asp.Net超大文件上传问题解决

    最近涉及到用asp.net做上传功能的一个问题,因为asp.net有fileupload的上传控件,但是这个控件上传的文件大小有限,所以根本满足不了需求百度了下,很多人遇到asp.net上传超大文件的困惑,偶尔搜索发现csdn有个哥们...

Global site tag (gtag.js) - Google Analytics