在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的做到多线程的操控和上传进度的显示。在此给大家推荐一款简单易用的上传组件,从而快速便捷得解决了 ASP.NET 中的大文件上传问题。

首先,我们需要这个名为 RanUpLoad 的组件(下面例子中附带),这两个 dll 文件添加到项目的引用中区,xml 文件也要复制在项目中的 bin 文件夹下,也就是最后三个文件都要存在于 bin 文件夹中。

接着,上传控件还是用 ASP.NET 中自带的 FileUpload 控件,需要添加的就是在 FileUpload 控件旁边加入标签:

  1. <radU:RadProgressManager ID="Radprogressmanager1" Width="100%" runat="server" />
  2. <radU:RadProgressArea ID="progressArea1" Width="100%" runat="server"></radU:RadProgressArea>

并且在 前台页面aspx 文件的起始处添加如下代码:

  1. <form id="form1" runat="server">
  2. <div>
  3. <radU:RadProgressManager ID="Radprogressmanager1" Width="100%" runat="server" />
  4. <radU:RadProgressArea ID="progressArea1" Width="100%" runat="server">
  5. </radU:RadProgressArea>
  6. <asp:FileUpload runat="server" ID="fileUPload" />
  7. &nbsp;&nbsp;&nbsp;
  8. <asp:Button runat="server" ID="fileUpladBtn" Text="上传" OnClick="fileUpladBtn_OnClick" />
  9. </div>
  10. </form>

当然,配置文件的 <system.web> 标签中不能忘记下面这些语句:

  1. <!--文件上传控件配置-->
  2. <httpRuntime executionTimeout="3600" maxRequestLength="2097151" ></httpRuntime>
  3. <httpModules>
  4. <add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2"/>
  5. </httpModules>
  6. <httpHandlers>
  7. <add verb="*" path="Telerik.RadUploadProgressHandler.aspx" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2"></add>
  8. </httpHandlers>

下面就是后台文件上传操作

  1. protected void fileUpladBtn_OnClick(object sender, EventArgs e)
  2. {
  3. if (RadUploadContext.Current == null) { return; }
  4. if (RadUploadContext.Current.UploadedFiles.Count <= 0)
  5. {
  6. this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "MsgBox", "<script>alert('请选择上传文件 !')</script>");
  7. return;
  8. }
  9. if (RadUploadContext.Current.UploadedFiles[0].ContentLength >= 2147483647)
  10. {
  11. this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "MsgBox", "<script>alert('上传的文件不得超过 2GB !')</script>");
  12. return;
  13. }
  14. UploadedFile file = RadUploadContext.Current.UploadedFiles[0];
  15. string fileName = Path.GetFileName(file.FileName);
  16. string virtualPath = System.IO.Path.Combine("~/Files", fileName);
  17. string savePath = this.MapPath(virtualPath);
  18. file.SaveAs(savePath, true); 
  19. }

ASP.NET 大文件上传的简单处理的更多相关文章

  1. 使用NeatUpload控件实现ASP.NET大文件上传

    使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...

  2. ASP.NET 中对大文件上传的简单处理

    在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的 ...

  3. asp.net大文件上传解决方案

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传  ...

  4. ASP.NET大文件上传断点续传解决方案

    HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...

  5. asp.net大文件上传与上传文件进度条问题

    利用Plupload解决大容量文件上传问题, 带进度条和背景遮罩层 关于Plupload结合上传插件jquery.plupload.queue的使用 这是群里面一位朋友给的资料. 下面是自己搜索到的一 ...

  6. ASP.Net大文件上传组件详解

    首先右键单击网站根目录,在弹出的快捷菜单中,选择"添加引用"菜单项,弹出"添加引用",切换到"浏览"找到组件的Dll文件"Best ...

  7. ASP.NET 大文件上传

    一 web.config 配置: 1). <system.webServer> <security> <requestFiltering> <!-- maxA ...

  8. asp.net 大文件上传配置

    <system.web> <httpRuntime requestValidationMode=" ></httpRuntime> <!--单位:K ...

  9. Asp.net mvc 大文件上传 断点续传

    Asp.net mvc 大文件上传 断点续传 进度条   概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这 ...

随机推荐

  1. delphi控件安装与删除

    附带通用控件安装方法:----------基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2.对于 ...

  2. 金山词霸每日一句开放平台 .NET demo

    先附上地址:http://open.iciba.com/?c=api 小金山提供了2种获取数据的方式 1. 通过填入自己的网站名称.网址.邮箱地址 来生成一段javascript脚本,直接将生成的代码 ...

  3. 刀哥多线程之主队列gcd-06-main_queue

    主队列 特点 专门用来在主线程上调度任务的队列 不会开启线程 以先进先出的方式,在主线程空闲时才会调度队列中的任务在主线程执行 如果当前主线程正在有任务执行,那么无论主队列中当前被添加了什么任务,都不 ...

  4. [JAVA][RCP] Eclipse4/RCP/Lifecycle

    E4AP provides two levels of lifecycles, for contributions and for the application. Contents [hide]  ...

  5. hdu 2822 Dogs

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2822 Dogs Description Prairie dog comes again! Someda ...

  6. MicrosoftProjectOxford 微软牛津计划

    光学字符识别 上传本地图片或者提供一个图片URL,查看光学字符识别的演示. 视觉特征分析 上传本地图片或者提供一个图片URL,查看视觉特征分析的演示. 缩略图 上传本地图片或者提供一个图片URL,查看 ...

  7. WCF 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性

    我出现这个问题主要是服务器返回数据量过大引起了,需要客户端服务端都要进行配置:我会说其实有神器的么....(工具=>wcf服务配置编辑器),用工具编辑下,就会完全搞定这个问题,再也不用纠结了 服 ...

  8. 嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)

    http://bbs.phome.net/showthread-31-318753-0.html 如果你的网站使用的是帝国CMS.PC站和手机站各使用一个模板组,但共同使用一个数据库.那么你的PC站和 ...

  9. 文件读写 swift

    // // ViewController.swift // 文件读写 // // Created by mac on 15/7/12. // Copyright (c) 2015年 fangyuhao ...

  10. webpack对样式的处理

    原文地址:https://github.com/zhengweikeng/blog/issues/9 我们可以在js中引入样式文件 require('myStyle.css') 这时我们便需要引入相应 ...