文件的上传下载功能的实现(包括进度条)

1、准备工作

首先我们需要Telerik控件,数据库,上传文件文件夹。

Telerik控件:

RadUpload、RadProgressManager、RadProgressAres、RadGrid。

RadUpload是客户端和服务器端的一部分。Upload(上传)控件是一款专门的文件上载组件,它采用非常高效的 Http 模型。它消耗最少量的服务器内存却使性能最优化,并提供完全可配置的单一文件上载或多文件上载

 可以设置上传模式,如手动、自动,可以同时上传多个文件,可以设置最大文件数、最大上传大小、最大文件大小、允许上传的图片类型等。

 具有事件跟踪功能,对上传控件的各种操作均会显示出来。

RadProgressManger和RadProgressAres控件的使用方法只需要将这两个控件拖放在网页设计器中即可,而RadProgressManger和RadProgressAres控件与RadUpload控件的关联方法只需要在Web.config中配置即可,方法在下面文章中可以找到。

数据库(T_File):

主要用于存储文件ID、文件名字Name、文件路径Path、文件上传时间Time。

文件存放处:

创建一个Upload文件夹。

2、页面制作及后台代码。

创建一个UpLoad.aspx页面

RadProgressManger和RadProgressAres控件只需拖放在此处即可。

后台代码如下:

创建一个DownLoad.aspx页面

后台代码如下:(主要用来绑定数据展现操作)

我们需要再创建一个一般处理程序Down.ashx

Web.config中的配置

<configuration>

<system.web>

<compilationdebug="true"targetFramework="4.0">

<assemblies>

<addassembly="System.Design,Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />

<addassembly="System.Windows.Forms,Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

<addassembly="System.Speech,Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

</assemblies>

</compilation>

<httpHandlers>

<addpath="Telerik.RadUploadProgressHandler.ashx"type="Telerik.Web.UI.RadUploadProgressHandler"verb="*"validate="false" />

<addpath="Telerik.Web.UI.WebResource.axd"type="Telerik.Web.UI.WebResource"verb="*"validate="false" />

</httpHandlers>

<httpModules>

<addname="RadUploadModule"type="Telerik.Web.UI.RadUploadHttpModule,Telerik.Web.UI" />

</httpModules>

<httpRuntimemaxRequestLength="2097151"executionTimeout="3600" />

<authenticationmode="Forms" />

</system.web>

<system.webServer>

<modulesrunAllManagedModulesForAllRequests="true" />

<validationvalidateIntegratedModeConfiguration="false" />

<handlers>

<addname="Telerik_Web_UI_DialogHandler_aspx"verb="*"preCondition="integratedMode"path="Telerik.Web.UI.DialogHandler.aspx"type="Telerik.Web.UI.DialogHandler" />

<addname="Telerik_Web_UI_SpellCheckHandler_axd"verb="*"preCondition="integratedMode"path="Telerik.Web.UI.SpellCheckHandler.axd"type="Telerik.Web.UI.SpellCheckHandler" />

<addname="Telerik_Web_UI_WebResource_axd"verb="*"preCondition="integratedMode"path="Telerik.Web.UI.WebResource.axd"type="Telerik.Web.UI.WebResource" />

</handlers>

</system.webServer>

3、在开发中遇到的问题

1)、IIS请求筛选模块被配置为拒绝超过请求内容长度的请求

解决方法

1. 修改IIS的applicationhost.config

1).文件位置:%windir%/system32/inetsrv/config/applicationhost.config

2).找到<requestFiltering> 节点

3).为这个节点添加如下元素:<requestLimits maxAllowedContentLength="2147483647"/> (上传的大小将改为2G)

注:该节点下默认没有 <requestLimits maxAllowedContentLength="上传大小的值" /> 元素。

2. web.config中添加如下内容

<configuration>

<system.web>

<httpRuntimemaxRequestLength="2097151" executionTimeout="3600"/>

</system.web>

</configuration>

代码说明:
1)httpRuntime配置ASP.NET HTTP 运行时设置,以确定如何处理对 ASP.NET 应用程序的请求。在这里这个是必须要有的。
2)maxRequestLength(指示ASP.NET 支持的最大文件上载大小)
指定输入流缓冲阈值限制(以 KB 为单位)。此限制可用于防止拒绝服务***;例如,因用户向服务器发送大型文件而导致的拒绝服务***。
默认值为 4096K(4 MB),最大值只能是2097151K。
3)executionTimeout:指定在被ASP.NET 自动关闭前,允许执行请求的最大秒数。默认90秒。
只有当compilation 元素中的调试属性为 False 时,此超时属性才适用。若要帮助避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。

3. web.config中,把以下内容加在<system.webServer>节点

<security>

<requestFiltering >

<requestLimitsmaxAllowedContentLength="2147483647" ></requestLimits>

</requestFiltering>

</security>

上述中maxAllowedContentLengt是以KB为单位。

2)、RadUpload Ajax callback error.Source url returned invalid content

暂未解决,等待处理。

注:部分篇幅取自网上资源。

转载于:https://blog.51cto.com/hddev/1218188

文件的上传下载功能的实现(包括进度条)[telerik控件]相关推荐

  1. ssm框架验证码图片加载不出_基于SSM框架的文件图片上传/下载功能实现

    前一段时间很多做毕业设计的同学问:如何写图片和文件的上传下载功能,今天正好有时间,所以就做了一个案例,详细的讲解这个功能. 框架结构: 对于很多做过开发的而言,上传功能肯定都用过,而且用到的场景很多, ...

  2. SpringBoot2.x集成mongoDB4.0实现音频文件的上传下载功能

    最近项目要用到文件上传下载功能,但是这些音频文件都很大,放到关系型数据库就不太好了(其实是太不好了),占内存不说还慢的要死,所以考虑使用分布式文件系统或者非关系型数据库来实现.由于分布式文件系统没有用 ...

  3. FTP客户端--实现FTP文件的上传下载功能

    现在是2017.6.16的1点多,这几天刚好做了个FTP客户端的计网实验,就把思路过程和源码发上来吧! 一.设计思路:首先,登陆指定的FTP服务器(指定服务器的IP和用户名,密码,端口号若无就默认为2 ...

  4. 教你如何实现c#文件上传下载功能

    简单介绍一下c#文件上传下载功能实现. NuGet 安装SqlSugar Model文件下新建 DbContext 类 public class DbContext {public DbContext ...

  5. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  6. 项目_功能模块_基于Spring Boot的文件上传下载功能的设计与实现

    文章目录 基于Spring Boot的文件上传下载功能模块的设计与实现 1.前言 2.技术栈 3.关键源码 4.实现效果 4.1.登录 4.2.文件列表 4.3.上传文件测试 4.3.1.测试图片 4 ...

  7. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

  8. java歌曲上传下载功能实现,Java上传下载功能的实现详解

    上传下载是很简单的功能,但是每次用的时候还是要查,这里整理一下 前台: 提交 主要注意: enctype="multipart/form-data" method="po ...

  9. Spring Boot项目集成AWS SDK连接到AWS S3,实现上传下载功能

    本文主要描写在Spring Boot项目里集成AWS SDK连接到AWS S3,实现上传下载功能的具体代码和注意事项.如有不足和错误之处,欢迎指正. AWS S3相关介绍 AWS S3(官网): ht ...

最新文章

  1. 几个判断时不变系统的精彩例子
  2. x9此计算机上没有hasp_为什么我在别人电脑上好装mastercam9,在自己电脑装不成功,它没有出现什么HASP驱动安装的提示,为什么...
  3. java token跨域,java 允许跨域
  4. 两个弹窗相互切换(安卓苹果通用方法)
  5. [Cake] 0.C#Make自动化构建-简介
  6. js合并同类数组里面的对象_通过同类群组保留估算客户生命周期价值
  7. vs2003 局部友元访问私有不可访问_C++ 类:重载运算符与友元
  8. 基于angular5+ionic3仿照网易云音乐客户端
  9. 在ASP.NET MVC中进行TDD开发
  10. [INS-40719]IP address configured for Single Client Access Name(SCAN):test-pdb.xxxxxx is already assi
  11. vb.net指定范围内获取随机数
  12. 淘宝模块中宝贝跳转链接
  13. html移动轮播后盾网,后盾网lavarel视频项目---Vue项目使用vue-awesome-swiper轮播插件...
  14. androbench跑分性能排查
  15. 微信开发者工具,调试公众号网页,控制台不显示,解决方案
  16. 关于isEmpty(),null,“”的理解
  17. TCP系列39—拥塞控制—2、拥塞相关算法及基础知识
  18. HomeBank-5.5.4-个人家庭记账分析软件(开源)
  19. M1芯片安装CocoaPods问题
  20. VB无所不能之二:利用GDI+处理图像格式转换

热门文章

  1. Control Web Panel 中两个严重漏洞使Linux 服务器易受RCE攻击
  2. Jenkins 内部服务器遭访问且被部署密币挖机
  3. 有人公开了Avast、McAfee 等杀软中的 8 个 0day
  4. 俄罗斯政府称“主权网络”测试成功
  5. 转发:关于数据权限设计的思考
  6. css学习_css用户界面样式
  7. Go sync.Map 看一看
  8. KafKa基本入门教程
  9. 云HBase内核解析
  10. stm32时钟配置总结