ASP.NET 大文件上传的简单处理
在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的做到多线程的操控和上传进度的显示。在此给大家推荐一款简单易用的上传组件,从而快速便捷得解决了 ASP.NET 中的大文件上传问题。
首先,我们需要这个名为 RanUpLoad 的组件(下面例子中附带),这两个 dll 文件添加到项目的引用中区,xml 文件也要复制在项目中的 bin 文件夹下,也就是最后三个文件都要存在于 bin 文件夹中。
接着,上传控件还是用 ASP.NET 中自带的 FileUpload 控件,需要添加的就是在 FileUpload 控件旁边加入标签:
- <radU:RadProgressManager ID="Radprogressmanager1" Width="100%" runat="server" />
- <radU:RadProgressArea ID="progressArea1" Width="100%" runat="server"></radU:RadProgressArea>
并且在 前台页面aspx 文件的起始处添加如下代码:
- <form id="form1" runat="server">
- <div>
- <radU:RadProgressManager ID="Radprogressmanager1" Width="100%" runat="server" />
- <radU:RadProgressArea ID="progressArea1" Width="100%" runat="server">
- </radU:RadProgressArea>
- <asp:FileUpload runat="server" ID="fileUPload" />
-
- <asp:Button runat="server" ID="fileUpladBtn" Text="上传" OnClick="fileUpladBtn_OnClick" />
- </div>
- </form>
当然,配置文件的 <system.web> 标签中不能忘记下面这些语句:
- <!--文件上传控件配置-->
- <httpRuntime executionTimeout="3600" maxRequestLength="2097151" ></httpRuntime>
- <httpModules>
- <add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2"/>
- </httpModules>
- <httpHandlers>
- <add verb="*" path="Telerik.RadUploadProgressHandler.aspx" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2"></add>
- </httpHandlers>
下面就是后台文件上传操作
- protected void fileUpladBtn_OnClick(object sender, EventArgs e)
- {
- if (RadUploadContext.Current == null) { return; }
- if (RadUploadContext.Current.UploadedFiles.Count <= 0)
- {
- this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "MsgBox", "<script>alert('请选择上传文件 !')</script>");
- return;
- }
- if (RadUploadContext.Current.UploadedFiles[0].ContentLength >= 2147483647)
- {
- this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "MsgBox", "<script>alert('上传的文件不得超过 2GB !')</script>");
- return;
- }
- UploadedFile file = RadUploadContext.Current.UploadedFiles[0];
- string fileName = Path.GetFileName(file.FileName);
- string virtualPath = System.IO.Path.Combine("~/Files", fileName);
- string savePath = this.MapPath(virtualPath);
- file.SaveAs(savePath, true);
- }
- BigFileUpload.rar (236.2 KB)
ASP.NET 大文件上传的简单处理的更多相关文章
- 使用NeatUpload控件实现ASP.NET大文件上传
使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...
- ASP.NET 中对大文件上传的简单处理
在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的 ...
- asp.net大文件上传解决方案
以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传 ...
- ASP.NET大文件上传断点续传解决方案
HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...
- asp.net大文件上传与上传文件进度条问题
利用Plupload解决大容量文件上传问题, 带进度条和背景遮罩层 关于Plupload结合上传插件jquery.plupload.queue的使用 这是群里面一位朋友给的资料. 下面是自己搜索到的一 ...
- ASP.Net大文件上传组件详解
首先右键单击网站根目录,在弹出的快捷菜单中,选择"添加引用"菜单项,弹出"添加引用",切换到"浏览"找到组件的Dll文件"Best ...
- ASP.NET 大文件上传
一 web.config 配置: 1). <system.webServer> <security> <requestFiltering> <!-- maxA ...
- asp.net 大文件上传配置
<system.web> <httpRuntime requestValidationMode=" ></httpRuntime> <!--单位:K ...
- Asp.net mvc 大文件上传 断点续传
Asp.net mvc 大文件上传 断点续传 进度条 概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这 ...
随机推荐
- 小木棍 (codevs 3498)题解
[问题描述] 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过100. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长 ...
- 检测openOffice关闭 自动重启
参考http://my.oschina.net/UpBoy/blog/301193 bat解释:循环检测任务列表找到soffice.exe,没找到就调用run.bat @echo off :l ...
- STM32F0xx_TIM输入捕获(计算频率)配置详细过程
前言 关于STM32的定时器,可谓是功能强大,估计没有多少人研究完STM32定时器的所有功能(包括我也没有),只是使用常用的一些功能,后续我会推出关于STM32定时器的更多功能. STM32芯片多数为 ...
- c,c++函数返回多个值的方法
最近遇到一个问题,需要通过一个函数返回多个值.无奈C,C++不能返回多个值.所以就想有什么方法可以解决. 网上方法比较杂乱,一般有两种替代做法: 1. 利用函数的副作用, 返回值在函数外定义, 在函数 ...
- java遍历Map的几种方式
1.遍历map的几种方式:private Hashtable<String, String> emails = new Hashtable<String, String>(); ...
- StyleCop学习笔记——默认的规则
在StyleCop中有一些官方自己写好的检测规则下面就是英文的解释 文档规则 1.SA1600:ElementsMustBeDocumented元素必须添加注释 2.SA1601: PartialEl ...
- Android:ViewPager实现屏幕轮转和使用PagerTabStrip
① ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类. ② ViewPager类需要一个PagerAdapter适配器类给它提供数据. ③ Vie ...
- Golang之AES/DES加密解密
AES/DES加密/解密涉及4个概念:1. Block, 也叫分组, 相应加密/解密的算法. 2. BlockMode, 模式, 相应加密/解密的处理.3. InitalVectory, 初始向量4. ...
- extjs panel自动滚动
指定两个参数 height:600, autoScroll:true, http://bbs.csdn.net/topics/280012147
- CentOs环境下PHP支持PDO_MYSQL
一.下载相应tgz包: http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz二.安装开始 解压# tar zxvf PDO_MYSQL-1.0.2.tgz # cd ...