传大文件,有好几种方法:

1、思归的HttpWorkerRequest方法,太难,看不懂:-(

2、利用第三方的控件 AspNetUpload 要钱!!算了,咱还是喜欢免费的。

3、修改web.config文件,但是不能捕获错误。
4、通过ftp的方式上传。服务器需要提供ftp服务。

没辙,只好选第三种方式,谁让咱太蠢了呢!(太蠢了,没有关系,要多吃鱼,听说吃鱼能聪明点。)

那就仔细专研第三种方式吧!

修改Webcong文件:

以下为引用的内容:
<system.web>
<httpRuntime maxRequestLength="40690"
useFullyQualifiedRedirectUrl="true"
executionTimeout="6000"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>
</system.web>

其中与上传有密切关系的是:

maxRequestLength

指示 ASP.NET 支持的最大文件上载大小。

该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。

指定的大小以 KB 为单位。

默认值为 4096 KB (4 MB)。

executionTimeout

指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。

单位为秒,在上传大的文件时把这个设的大一些。

如果服务器内存512M,已可上传大小160M的文件。(没试过,csdn上众帖子的一致意见。)

到这里web.config的设置就已经结束。

可是一旦上传文件的大小超过了这个设置的文件大小范围就会发生如下错误:

该页无法显示

您要查看的页当前不可用。网站可能遇到技术问题,或者您需要调整浏览器设置。

虽然解决不了,那也要捕获这个错误啊!怎么办呢?

最近吃了几条鱼,想了想,由于这个错误是由file控件引发的前台错误,所以在后台想利用try...catch来捕获是行不通的。

于是想到了利用.NET的错误捕获页面的机制来处理。可行哦。

以下为引用的内容:
1、先设置web.config
<customErrors mode="On"/>
2、新建一个error.aspx 文件,专门用来捕获错误的。
3、在上传文件的aspx页面的前台页面里添加page指令。ErrorPage="UploadError.aspx"
4、在error.aspx中添加一些代码来判断错误信息是否是file引起的前台错误。
public class UploadError : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex != null)
{
Response.Redirect("../error.aspx");
}
else //前台错误ex为空值
{
Response.Redirect("uploadexcel.aspx?err=1"); //重新跳转到上传页面,
加上err参数是为了显示错误信息
}
}

5、显示错误提示。
public class uploadexcel : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
if (Request["err"] == "1")
{
Page.RegisterStartupScript("budget","<script language = javascript>
alert('Upload file has failed ! File size is too large !')</script>");
}
}
}

转载于:https://www.cnblogs.com/deve/archive/2009/07/17/2242713.html

用.NET的File控件上传文件的解决方案相关推荐

  1. asp.net fileupload 文件上传后服务器上找不到文件,Asp.net中FileUpload控件上传文件例子...

    FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles ...

  2. ASP.NET 2.0使用FileUpload控件上传文件示例

    在ASP.NET 2.0中使用FileUpload服务器控件很容易的就能将文件上传到服务器,一个简单的例子如下: aspx: 程序代码 <%@ Page Language="C#&qu ...

  3. Ajax+Input的File控件上传时的超级简单实时进度条

    Html代码: <input id="inputFile" name="inputFile" type="file" />< ...

  4. .Net用UploadFile控件上传文件受到大小限制的解决办法

    一.缘由因.net引起的 方法一:(经过验证了) 错误提示: System.ObjectDisposedException: 无法访问已关闭的文件. 解决办法: 在web.config文件中添加如下语 ...

  5. 使用 SAP UI5 FileUploader 控件上传本地文件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...

  6. 后台处理客户端控件上传的文件(input type=file)

        private bool SaveImages()     {         HttpFileCollection files = HttpContext.Current.Request.F ...

  7. 解决FileUpload控件上传大文件被拒问题时

    在使用Asp.Net自带的服务器端控件Fileupload上传文件时,如果上传的文件比较大,可能会遇到服务器的拒绝服务攻击,此时可以通过在<system.web>中添加: <http ...

  8. 详述FileUpload 控件上传单文件

    第一步:添加两个Label控件,一个是用于标题显示,一个是用于上传完成消息提示. 第二步:创建一个FileUpload控件到Page页面,注意FileUpload控件本身只提供文件的选举操作,而实际的 ...

  9. <input type=“file“>实现上传文件

    嗨害嗨,我又来了奥.今天讲一个项目中常见的例子,就是利用input type="file"来进行表单上传文件.首先,我们写好html,如下. <form id="f ...

  10. android 上传html文件大小,浅谈关于Android WebView上传文件的解决方案

    我们在开发需求的时候,难免会接入一下第三方的H5页面,有些H5页面是具有上传照片的功能,Android 中的 WebView是不能直接打开文件选择弹框的 接下来我讲简单提供一下解决方案,先说一下思路 ...

最新文章

  1. leetcode--Reorder List
  2. Hive metastore三种配置方式
  3. 如何关闭PHP的安全模式,Linux下的Apache和PHP安全设置,如何开启PHP的安全模式
  4. ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病)
  5. python 网站 源码_在线浏览美图源码,附带python源码
  6. PPT 下载 | 神策数据杜明翰:数据赋能产品的 3 个锦囊
  7. C#获取txt记事本内容,防止乱码情况
  8. 记录hiveonspark:Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask
  9. Linux的文件压缩与解压缩
  10. HashMap——ConcurrentHashMap
  11. 十大经典排序算法整理汇总(附代码)
  12. 蓝桥杯_算法训练_未名湖畔的烦恼
  13. 高并发下的秒杀系统设计
  14. 阿里云物联网平台如何通过云产品流转使两个设备互相通信
  15. 大树体验云受邀参加CMO价值营销峰会 助力品牌新增长
  16. android 评论发表情,安卓手机怎么在微信朋友圈评论发表情包?
  17. Android利用SpannableStringBuilder设置TextView中部分文字的颜色...
  18. matlab高斯投影坐标,基于matlab的高斯投影正反算与相邻带坐标换算程序设计
  19. pt100专用芯片_新能源 汽车电机专用温度传感器 PT100 进口芯片 德国
  20. Objective-C面向对象

热门文章

  1. 用PBD制作餐饮店KPI分析仪-入门篇
  2. 公众号文章发送pdf文件 pdf文件如何变成导出图片
  3. 基于SSM的超市积分管理系统
  4. Leetcode134.加油站
  5. a4如何打印双面小册子_小册子打印
  6. java最新 学习路线
  7. php案例之后台数据显示-- mysqli面向过程版(procedure oriented programming = POP)
  8. k8s/docker 安装yapi和MongoDB
  9. python安装笔记_Python学习笔记(一)python的安装和配置
  10. python3.7怎么安装的_怎么安装python3.7:python 3.7入门教程