最近在开发上传控件,使用RadUpload上传大附件

发现了几个小问题,总结后分享给大家:

1、IE6浏览器下文件的路径显示的是物理路径,需要进行转换

2、IIS7.0 配置时要选择经典模式

3、web.config httpRuntime 要配置好 ,主要设置限制上传文件的大小

4、c#下载文件路径提示页面不存在问题

解决方法:保存文件时 文件名可能包含特殊符号例如 “#” “%” “+”等等 下载的时候会被截断

所以 保存数据库时要进行编码 Path=HttpUtility.UrlEncode(文件名)

解码  HttpUtility.UrlDecode(文件名)

脚本:escape()  encodeURIComponent()

包含+的附件下载问题:

问题及原因:

window2008下iis7环境下,url中包含空格或加号的伪静态,将不能正常访问,比如:http://www.abc.com/gyd+cc.html 会出现请求筛选模块被配置为拒绝包含双重转义序列的请求。浏览器返回 HTTP 错误 404.11 – Not Found错误。

解决办法:

在站点根目录新建或编辑web.config 文件,找到<system.webServer>节点,添加<requestFiltering allowDoubleEscaping=”true”> 。

附:常用的URL字符转义

1. +  URL 中+号表示空格 %2B
  2. 空格 URL中的空格可以用+号或者编码 %20
  3. /  分隔目录和子目录 %2F 
  4. ?  分隔实际的 URL 和参数 %3F 
  5. % 指定特殊字符 %25 
  6. # 表示书签 %23 
  7. & URL 中指定的参数间的分隔符 %26 
  8. = URL 中指定参数的值 %3D

用法:

首先是在项目中添加这个DLL的引用

1、拖放控件
   RadProgressManager
   RadProgressArea
   拖放上传控件(可以多个但不用额外设置)
   上传按钮

2、复制“RadUpload”文件夹到项目目录
   可以选择得复制RadUpload/skin里的皮肤文件

3、设置RadProgressArea的LocalizationPath="~/RadUpload"  SkinsPath="~/RadUpload/skin"
   设置RadProgressArea的Language="CHS" Skin="WebBlue(或想要的皮肤)"
   设置DisplayCancelButton="True"

4、在Web.config里添加
<httpRuntime maxRequestLength="2040000" executionTimeout="600"/>
<httpModules>
 <add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2"/>
</httpModules>
<httpHandlers>
 <add path="Telerik.RadUploadProgressHandler.aspx" verb="*" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2"/>
 <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2008.1.415.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4" validate="false"/>
</httpHandlers>

5、在页面.cs里添加命名空间
   using Telerik.WebControls;

6、为上传按钮添加事件(可以更改此设置如上传文件名)

foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles)
        {
            string Path = Server.MapPath(@"Uploads");

//如果路径不存在,则创建
            if (System.IO.Directory.Exists(Path) == false)
            {
                System.IO.Directory.CreateDirectory(Path);
            }

//组合路径,file.GetName()取得文件名
            Path = Path + "/" + file.GetName().ToString();

//保存
            file.SaveAs(Path, true);
        }

转载于:https://www.cnblogs.com/yudeyinji/p/3435864.html

关于RadUpload上传问题总结相关推荐

  1. (转)asp.net2.0 上传大容量文件第三方控件radupload

    1.web.config  中需要加入:  <httpHandlers>     <add verb="*" path="Telerik.RadUplo ...

  2. 文件的上传下载功能的实现(包括进度条)[telerik控件]

    文件的上传下载功能的实现(包括进度条) 1.准备工作 首先我们需要Telerik控件,数据库,上传文件文件夹. Telerik控件: RadUpload.RadProgressManager.RadP ...

  3. oracle asp.net上传 下载 文件大小只有32kb,asp默认上传大小

    asp.net 上传大文件大小控制方案 .NET默认允许上传4M的文件. 修改 Machine.config 文件,改动MaxRequestLength 参数的值.在c:\winnt\microsof ...

  4. 本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)

    打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-proj ...

  5. springboot设置文件上传大小(tomcat默认1M)

    application.yml # 设置文件上传大小(tomcat默认1M) server:tomcat:max-http-form-post-size: -1 spring:servlet:mult ...

  6. 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录

    将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...

  7. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  8. Springboot 多文件上传

    其实多个文件和单个文件上传是一样的,可以使用同一个Controller 添加依赖 <!-- https://mvnrepository.com/artifact/commons-fileuplo ...

  9. pycharm连接远程服务器并进行代码上传+远程调试

    Pycharm连接远程服务器并进行代码上传+远程调试 </h1><div class="clear"></div><div class=& ...

  10. Springboot前后端分离上传、下载压缩包、查看文件

    Controller层: /*** 保存附件按钮* @param file 附件* @return 附件路径**/@PostMapping(value = "/upload")Ob ...

最新文章

  1. 前景背景分割——ostu算法的原理及实现 OpenCV (八)
  2. java jar 打印_Java 打印流 及 commons-io.jar包方法
  3. 别再被 Python 洗脑了!!
  4. 可申请试用!GN4系列GPU云服务器重磅来袭
  5. ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
  6. pycharm remote 远程项目 同步 本地_利器:PyCharm本地连接服务器搭建深度学习实验环境的三重境界...
  7. 计算机 大文件查找,win7笔记本电脑如何快速查找大文件
  8. Qt::FocusPolicy的使用
  9. 自定义函数hello,并注册到hive源码中并重新编译
  10. struts2+spring的两种整合方式
  11. 从零学会SQL:入门(实操演示)
  12. PMP试题 | 每日一练,快速提分 7.5
  13. Android单点触摸与多点触摸
  14. 书单丨流量成本越来越高,6本书带你实现爆发式增长!
  15. 服务器iis短文件名漏洞,IIS短文件名漏洞分析及一个实例
  16. pretty-errors:美化python异常输出以使其清晰易读
  17. url地址的图片路径
  18. 自动驾驶引发的致死车祸,没有一方是无辜的
  19. 【MFC/C++操作Excel】Excel篇 (OLE/COM)
  20. Process Lasso

热门文章

  1. OpenCV 图像编解码操作【imencode/imdecode】使用
  2. 2021-08-19初识JSP
  3. 百度区块链 xuperchain 节点端 tps统计脚本
  4. linux流量监控php_Linux下安装vnstat流量统计,流量监控
  5. mysql sycho_2005年12月23日
  6. opencv车牌分割_OpenVINO车牌识别网络详解
  7. 动画效果之PC端 移动端 探照灯遮罩动画
  8. 访问HDFS报错:org.apache.hadoop.security.AccessControlException: Permission denied
  9. L3_08——图中所有边都是相等的常数
  10. SourceTree 密码填写正确但是拉取显示密码错误解决