Brettle.Web.NeatUpload.dll大文件上传控件使用详解
NeatUpload是一个开源的大文件上传控件,非常的强大,支持文件类型过滤、上传进度条显示、多文件上传等强大的功能。最近在工作中使用Brettle.Web.NeatUpload.dll上传视频文件,在参考网上其他资料的基础上写了如下的使用记录:
1、 下载Brettle.Web.NeatUpload.dll,并在项目中添加引用;
2、 复制文件夹“NeatUpload”到项目根目录;
3、 在配置文件的<system.web>节点中添加如下配置:
<httpModules>
<!—使用NeatUpload控件及需要显示上传进度条-->
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />
</httpModules>
4、 在上传文件的页面中引用该控件:
A、 页面代码:
添加上传控件:
B、 后台事件:
/// <summary>
/// 上传图片或者视频
/// </summary>
protected void UploadFile()
{
if (this.file_UpLoad.HasFile)
{
string fileType = Path.GetExtension(file_UpLoad.FileName.ToLower());
if (fileType != ".flv")
{
this.errorMsg.Text = "必须上传.flv文件!!";
return;
}
//上传文件的重命名
HiddenFile.Value = SetFileName(file_UpLoad.FileName);
//获取配置文件中限定的上传文件大小,这里设定显示2G,用户可以自定义
long size = (long)(Convert.ToInt32(ConfigurationManager.AppSettings["bigfile"])) * 1024 * 1024 * 1024;
//获取上传文件的大小
long longth2 = file_UpLoad.ContentLength;
if (longth2 > size)
{
this.errorMsg.Text = string.Format("单个文件不能超过{0}G!!", ConfigurationManager.AppSettings["bigfile"]);
return;
}
try
{
//把文件上传到指定的目录下,第一参数表示文件报错的路径和文件名称,这里把文件保存在根目录下的UpLoads文件夹中
file_UpLoad.MoveTo(Path.Combine(Request.PhysicalApplicationPath + "//UpLoads", HiddenFile.Value),
Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
this.errorMsg.Text = "上传成功!!";
}
catch (Exception ex)
{
this.errorMsg.Text = "上传异常!!";
return;
}
}
}
/// <summary>
/// 重新命名文件名称
/// </summary>
protected string SetFileName(string filename)
{
int index = filename.IndexOf(".");
string extension = filename.Substring(index);//扩展名
string fName = Guid.NewGuid().ToString() + extension; return fName;
}
5、完成以上4个步骤后,上传大文件的功能是已经完全实现的了,但是如果项目中其他地方使用普通的FileUpload上传时会发生了一个错误(Nonfile portion > 4194304 bytes,文件大于默认值4M),这时全站都会默认使用此httpModule,当你使用FileUpload上传文件时,只要是超过4M(默认的)的都不能上传,就算在配置文件中修改了普通的FileUpload上传大小的限制值(默认值允许上传2M的文件)<!--asp.net,默认只允许上传2M文件,增加如下配置,一般可以自定义最大文件大小.最大163840K,即160M -->
<httpRuntime executionTimeout="300" maxRequestLength="163840" useFullyQualifiedRedirectUrl="false " />都没用,还是会出现Nonfile portion > 4194304 bytes的错误的。
解决方法如下:
1)、首先在<configuration>节点中添加:
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="system.web">
<section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
</sectionGroup>
</configSections>
2)、然后在 <system.web>节点中添加:
<neatUpload useHttpModule="false" maxNormalRequestLength="4096" maxRequestLength="2097151" defaultProvider="FilesystemUploadStorageProvider">
<providers>
<add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>
</providers>
</neatUpload>
3)、最后在<configuration>节点中添加:
<!--上传文件的页面路径-->
<location path="VideoAdd.aspx" >
<system.web>
<!--为true则代表使用neatUpload的httpModule,false为不使用-->
<neatUpload useHttpModule="true" /> <httpRuntime maxRequestLength="2097151" executionTimeout="3600" useFullyQualifiedRedirectUrl="true" />
<!--允许最大为40M-->
</system.web>
</location>
转载于:https://www.cnblogs.com/LannyLiu/archive/2013/05/22/3092718.html
Brettle.Web.NeatUpload.dll大文件上传控件使用详解相关推荐
- [原创]Ajax UpLoadFile 多个大文件上传控件及应用范例
******作者语:这个控件很早就写了,但一直没有去完善*********************** ******现在重新整理了一次,应该方便了许多,希望大家多多提意见********* ***** ...
- vue大文件上传控件选哪个好?
需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...
- 分享基于silverlight的一个大文件上传控件
虽然codeplex已经有一些多文件,带进度条的上传控件,但是觉得都不是很好用,所以基于上面的控件重新设计了一个上传控件,更好的交互,属性绑定和管理文件. 1. 客户端使用: <mycontro ...
- 大文件上传控件webupload插件
之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...
- vue+大文件上传控件
总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...
- java文件上传控件_java实现大文件上传控件
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- 浏览器 WEB怎么实现大文件上传
前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...
- NeatUpload:支持大文件上传 进度条
NeatUpload:支持大文件上传 引用: NeatUpload可以让ASP.NET开发人员把磁盘上的文件通过流的方式上传并且可以监视上传进度 .它是开源的且在 Mono''s XSP/mod_mo ...
- ASP.NET Web程序设计——FileUpload文件上传控件
FileUpload文件上传控件 主要功能:向指定的目录上传文件 控件包括:一个文本框 一个浏览按钮 属性 说明 HasFile 控件是否含有将要上传的文件 FileName 上传文件的文件名 Sav ...
- 文件上传控件 自定义样式
文件上传控件<input type="file"/>在不同的浏览器下,显示为不同的样式,并且很难随着不同的设计而进行对应变化,这里将实现一种jquery插件的方法,实现 ...
最新文章
- 兰大博士神论文: 我和同门亲师妹是如何走到一起的?
- CVPR 2021 | 任何人都能“不讲武德”,姿态可控的语音驱动说话人脸
- 三星GT-I9308 Galaxy SIII 移动定制机 root方法 (亲测可用)
- python3.5下载-Python3.5.2
- 对服务器系统性能的诊断思路和方法,服务器端软件性能分析和诊断方法研究
- 成功将用intelli idea 建立的项目打包成jar文件,并在Linux上成功运行
- 微信小程序onLoad与onShow的区别
- String案例 获取一个字符串在另一个字符串中出现的次数(两种方法)
- Matlab Tricks(十七)—— 使用 Latex
- 时间选择器Android-PickerView的使用
- cad线性标注命令_CAD线性标注快捷键是什么,怎么使用
- 2022腾讯云学生服务器价格申请认证及购买攻略
- 学习笔记【机器翻译评测指标】
- 小时候玩过的游戏之十八——丢沙包
- pycharm下载思维导图插件 idea mind map
- 即兴演讲的秘诀结构(一)
- 设置vs2107背景图片
- utc时间怎么转换北京时间?
- 常见的打印机无法打印问题
- Visual Studio 2015 Bowser Link的功能不停的向服务端发送请求
热门文章
- 计算机图形学在线作业,18春北交《计算机图形学》在线作业一-2
- 打包的时候不把配置文件加进去_苹果软件打包签名原理
- abd shell关闭所有程序_带你进一步了解“终端”Shell
- linux线程的理解,linux线程与进程的理解
- 发卡网shell漏洞_Apache Tomcat文件包含漏洞(CVE-2020-1938)复现
- python中的numpy库有什么优缺点_Python中Numpy库的基础知识点
- 新年2021HTML,2021年了,来一段新年快乐的挂件源码
- UI设计教程学习分享:APP布局
- Java千百问_05面向对象(013)_泛型如何使用
- Day1_HTML_表单标记