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입니다.
기본값은 4096KB(4MB)입니다.
executionTimeout
ASP.NET에서 자동으로 닫기 전에 요청 실행이 허용되는 최대 시간(초)을 나타냅니다.
단위는 초입니다. 대용량 파일을 업로드할 때는 더 큰 값으로 설정하세요.
서버 메모리가 512M일 경우 160M의 파일을 업로드할 수 있습니다. (해보지는 않았습니다. csdn에 올라온 많은 글들의 만장일치 의견입니다.)
web.config 설정은 여기까지입니다.
단, 업로드된 파일의 크기가 이 설정의 파일 크기 범위를 초과하면 다음과 같은 오류가 발생합니다. 현재 보고자 하는 페이지를 표시할 수 없습니다. 웹사이트에 기술적인 문제가 있거나 브라우저 설정을 조정해야 할 수도 있습니다.
해결할 수는 없지만 이 오류는 잡아야 합니다! 무엇을 해야 할까요? 이 오류는 파일 제어로 인해 발생하는 포그라운드 오류이므로 백그라운드에서 try...catch를 사용하여 이를 잡으려고 하면 작동하지 않습니다.
그래서 .NET의 오류 캡처 페이지 메커니즘을 사용하여 처리하려고 생각했습니다. 그것은 가능합니다.
인용된 내용은 다음과 같습니다.
1. 먼저 web.config를 설정합니다.
<customErrors mode="On"/>
2. 오류를 캡처하기 위해 특별히 새 error.aspx 파일을 만듭니다.
3. 파일이 업로드된 aspx 페이지의 첫 페이지에 페이지 명령을 추가합니다. ErrorPage="UploadError.aspx"
4. error.aspx에 일부 코드를 추가하여 오류 메시지가 파일로 인한 전경 오류인지 확인합니다.
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>"); } } }
.NET의 파일 업로드 제어를 사용하는 다양한 방법 대용량 파일을 업로드하려면 web.config 파일을 수정하세요. 관련 기사는 PHP 중국어에 주의하세요. 웹사이트!