ASP.NET对大文件上传的解决方案
下载完成之后,两个 dll 文件添加到项目的引用中区,xml 文件也要复制在项目中的 bin 文件夹下,也就是最后三个文件都要存在于 bin 文件夹中。
接着,上传控件还是用 ASP.NET 中自带的 FileUpload 控件,需要添加的就是在 FileUpload 控件旁边加入标签:
|
1
2
3
|
<radU:RadProgressManager ID="Radprogressmanager1" Width="100%" runat="server" /><radU:RadProgressArea ID="progressArea1" Width="100%" runat="server"></radU:RadProgressArea> |
并且在 aspx 文件的起始处添加如下代码:
|
1
2
|
<%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" Assembly="Telerik.QuickStart" %><%@ Register TagPrefix="radU" Namespace="Telerik.WebControls" Assembly="RadUpload.Net2" %> |
当然,配置文件的 <system.web> 标签中不能忘记下面这些语句:
|
1
2
3
4
5
6
7
|
<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> |
现在,外部的轮廓都已经布好了,接下来就是点击上传之后服务器端所需的操作:
当然,做这些操作之前,我们先 using 一下 Telerik.WebControls 命名空间。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// 检查文件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("~/save", fileName);string savePath = this.MapPath(virtualPath);file.SaveAs(savePath, true); |
至此,文件上传的处理工作已经完成,以上的cs代码是我自己的一些操作处理,大家可以根据自己情况酌情修改,比如也可以放置多个FileUpload 控件,
用foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles){ ... } 这样的方式处理多个文件的上传。
前端效果:

文件上传后存放在存储目录中:F:\Git\up6\upload\2019\04\27\666e5c30c092485989a46c15b54cb2d3

文件完整的上传完成。没有丢失任何数据包。
DEMO下载地址:https://dwz.cn/fgXtRtnu
ASP.NET对大文件上传的解决方案的更多相关文章
- Asp.net mvc 大文件上传 断点续传
Asp.net mvc 大文件上传 断点续传 进度条 概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这 ...
- Asp.net mvc 大文件上传 断点续传 进度条
概述 项目中需要一个上传200M-500M的文件大小的功能,需要断点续传.上传性能稳定.突破asp.net上传限制.一开始看到51CTO上的这篇文章,此方法确实很不错,能够稳定的上传大文件,http: ...
- JS大文件上传断点续传解决方案
1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...
- Web大文件上传断点续传解决方案
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...
- asp.net实现大文件上传分片上传断点续传
HTML部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.a ...
- ASP.NET大文件上传断点续传解决方案
HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...
- ASP.NET实现大文件上传和下载
总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...
- asp.net mvc大文件上传、断点续传功能。
文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...
- .net大文件上传断点续传解决方案
HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...
随机推荐
- 未预期的符号 `$'{\r'' 附近有语法错误
../runcmake: 行 2: $'\r': 未找到命令 ../runcmake: 行 3: 未预期的符号 `$'{\r'' 附近有语法错误 考虑到代码是从windows下一直过来的,脚本可能在格 ...
- springboot常见 10问
1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 ...
- win7激活成功 但每次开机后又显示此windows副本不是正版的解决办法
进入命令行界面,输入 SLMGR -REARM 命令,点击回车 此方法只是暂时激活系统,大概4个月左右,即要使用此方法再次进行激活
- 【学习】数据处理基础知识(汇总和计算描述统计)【pandas】
pd对象拥有一组常用的数学和统计方法.大部分都属于约简和汇总统计,用于从Series中单个值,如sum 和 mean 或从DF的行或列中提取一个Series. 1. 描述和汇总统计方法 #汇总和计算描 ...
- 用java语言构建一个网络服务器,实现客户端和服务器之间通信,实现客户端拥有独立线程,互不干扰
服务器: 1.与客户端的交流手段多是I/O流的方式 2.对接的方式是Socket套接字,套接字通过IP地址和端口号来建立连接 3.(曾经十分影响理解的点)服务器发出的输出流的所有信息都会成为客户端的输 ...
- CSS: pseudo-classes and pseudo-elements
1.Definition: pseudo-classes The pseudo-class concept is introduced to permit selection based on inf ...
- Hibernate 再接触 悲观锁和乐观锁
为什么取1248 二进制 CRUD 移位效率高 在并发和效率选择一个平衡点 一般不会考虑幻读 因为我们不会再一个事务里查询两次,(只能设置为seralizable) 悲观锁和乐观锁的前提是read-u ...
- (转)Detect it Easy(壳侦测工具)使用方法介绍
http://www.ucbug.com/jiaocheng/129805.html Detect it Easy是一个多功能的PE-DIY工具,主要用于壳侦测.功能正日益完善,是不可多得的破解利器! ...
- 图片转base64上传,视频同理。
body: <input type="file" id="img" type="file" onchange="up()&q ...
- 258. Add Digits 入学考试:数位相加
[抄题]: Given a non-negative integer num, repeatedly add all its digits until the result has only one ...