`
txf2004
  • 浏览: 7043469 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用.NET的File控件上传文件的解决方案

阅读更多

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

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>");
}
}
}

分享到:
评论

相关推荐

    ASP.NET上传控件

    阅读这份说明书是理解和使用这个控件的关键,因为它会涵盖具体用法、示例代码以及可能遇到的问题和解决方案。 总的来说,ASP.NET上传控件为开发者提供了一种简单而强大的方式来集成文件上传功能,通过eWebapp....

    .net文件上传控件

    在.NET开发环境中,文件上传控件是不可或缺的一部分,它允许用户在...无论是传统的ASP.NET控件还是第三方的AJAX解决方案,都需要开发者充分理解其工作原理和最佳实践,以便在实际项目中实现高效、安全的文件上传功能。

    .NET上传文件控件

    在.NET框架中,ASP.NET是用于构建Web应用程序的强大的...通过理解和实践上述知识点,开发者可以创建自定义的文件上传解决方案,满足各种Web应用程序的需求。了解和掌握这些技术对于提升ASP.NET开发者的能力至关重要。

    ASP.NET上传控件V1.0 beta2

    综上所述,"ASP.NET上传控件V1.0 beta2"是一个针对ASP.NET平台的文件上传解决方案,提供了丰富的功能和优化,便于开发者在他们的应用中快速实现文件上传功能。通过了解并掌握这些关键知识点,开发者可以更安全、高效...

    asp.net上传控件( C#源码 )

    总的来说,这个ASP.NET上传控件提供了一套完整的解决方案,不仅有良好的用户界面,还具有强大的功能,如多文件选择、文件类型限制和同名文件处理。对于需要在网站上实现文件上传功能的开发者来说,这是一个非常实用...

    比較好用的asp.net上傳控件

    4. **jQuery File Upload**:虽然不是一个纯ASP.NET控件,但与ASP.NET结合使用可以实现复杂的上传功能,包括分块上传和多文件上传。 5. **FineUploader**:另一个JavaScript库,支持HTML5特性,提供跨浏览器的大...

    用.Net的File控件上传文件的解决方案

    用.Net的File控件上传文件的解决方案 在本文中,我们将讨论如何使用.Net的File控件上传文件,并解决大文件上传问题。 一、上传大文件的解决方案 在上传大文件时,我们可能会遇到各种问题,例如超时、文件大小限制...

    asp.net 上传控件

    在ASP.NET中,可以使用多种方法实现文件上传,其中包括传统的HTML表单和控件,以及更现代的AJAX和JavaScript解决方案。在"描述"中提到的“用js实现的”,指的是使用JavaScript来增强用户体验,例如通过异步上传实现...

    .NET Web上传文件控件源码

    ".NET Web上传文件控件源码"就是一种解决此类需求的解决方案。这个控件允许用户在浏览器端选择本地文件,然后通过HTTP请求将文件发送到Web服务器,保存在服务器的特定目录下。下面我们将深入探讨这一主题。 首先,...

    asp.net带进度上传控件

    在ASP.NET中,处理文件上传是一项常见的任务,特别是在用户需要上传大文件或多个文件时,提供一个带有进度条的上传控件能够极大地提升用户体验。"asp.net带进度上传控件"正是为了解决这个问题,它允许用户在上传文件...

    ASP.NET+jQuery 批量文件上传控件及示例程序

    这个“ASP.NET+jQuery 批量文件上传控件及示例程序”提供了一个实现这一功能的解决方案。 ASP.NET是由微软开发的一种Web应用程序框架,它基于.NET Framework,提供了丰富的服务器控件、自动处理页面生命周期和状态...

    asp.net 文件上传demo

    总的来说,“asp.net 文件上传demo”提供了一个实用的解决方案,结合Flash技术和ASP.NET,解决了大文件和批量文件上传的挑战。这不仅可以提升用户界面的交互性,还能有效管理服务器资源,确保上传过程的安全。通过...

    asp.net大文件上传控件

    ASP.NET大文件上传控件是Web开发中处理大文件上传的一种解决方案。在传统的ASP.NET框架中,由于HTTP协议的限制,文件上传大小通常受到限制,无法处理较大的文件。为了解决这个问题,开发者们创建了专用的控件和库,...

    asp.net 批量上传控件HtmlInputFile

    HtmlInputFile控件是ASP.NET提供的一种用于处理文件上传的原生控件,它允许用户从本地计算机选择一个或多个文件并将其上传到服务器。本文将深入探讨如何使用HtmlInputFile控件实现批量上传功能,并讨论相关的配置和...

    Ajax+ASP.net多个大文件上传控件附示例

    Ajax(Asynchronous JavaScript and XML)技术的引入,结合ASP.NET框架,提供了一种优化的解决方案,使得大文件上传成为可能,并且用户体验得到显著提升。本教程将围绕"Ajax+ASP.NET多个大文件上传控件"展开,探讨...

    ASP.net图片上传、文件上传、带进度条

    本压缩包提供了两种不同的文件上传解决方案,特别是带有进度条功能的上传方式,这将为用户提供更好的交互体验。 1. 图片上传:在ASP.NET中,图片上传通常涉及HTML表单中的`&lt;input type="file"&gt;`元素,用户可以通过...

    asp.net文件上传解决方案共5页.pdf.zip

    本解决方案将详细介绍如何在ASP.NET环境中实现文件上传功能,并提供一套五页的PDF文档作为详细指导。在这个过程中,我们将讨论关键知识点,包括HTTP协议、控件使用、服务器端处理以及安全考虑。 1. **HTTP协议与...

    asp.net.JQuery大文件上传案例(完整案例)

    "JQuery"标签则提示我们,案例可能使用了JQuery的插件,如plupload、jQuery File Upload等,这些插件提供了现成的大文件上传解决方案,包括多线程上传、断点续传等功能。 总的来说,"asp.net.JQuery大文件上传案例...

    asp.net 多文件上传,第三方控件

    Uploadify是一款优秀的JavaScript与Flash相结合的插件,它能够为ASP.NET提供强大的多文件上传解决方案。 Uploadify的特点在于其易用性和高性能,尤其在处理大文件上传时,能够在几分钟内完成几GB的数据传输。这得益...

Global site tag (gtag.js) - Google Analytics