So verwenden Sie die Datei-Upload-Steuerung von .NET, um die Datei web.config so zu ändern, dass große Dateien hochgeladen werden

高洛峰
Freigeben: 2016-12-24 13:01:44
Original
1530 Leute haben es durchsucht

Ändern Sie die Webcong-Datei:

Das Folgende ist der zitierte Inhalt:

<system.web> 
<httpRuntime maxRequestLength="40690" 
useFullyQualifiedRedirectUrl="true" 
executionTimeout="6000" 
useFullyQualifiedRedirectUrl="false" 
minFreeThreads="8" 
minLocalRequestFreeThreads="4" 
appRequestQueueLimit="100" 
enableVersionHeader="true" 
/> 
</system.web>
Nach dem Login kopieren

Die mit dem Hochladen eng verbundenen Inhalte sind:

maxRequestLength
Nach dem Login kopieren

Zeigt ASP an. NET Maximal unterstützte Datei-Upload-Größe.

Dieses Limit kann verwendet werden, um Denial-of-Service-Angriffe zu verhindern, die dadurch verursacht werden, dass Benutzer eine große Anzahl von Dateien an diesen Server weiterleiten.

Die angegebene Größe ist in KB.

Der Standardwert ist 4096 KB (4 MB).

executionTimeout
Nach dem Login kopieren

Gibt die maximale Anzahl von Sekunden an, die eine Anforderung ausführen darf, bevor sie automatisch von ASP.NET geschlossen wird.

Die Einheit ist Sekunden. Stellen Sie diesen Wert beim Hochladen großer Dateien ein.

Wenn der Serverspeicher 512 MB beträgt, können Dateien von 160 MB hochgeladen werden. (Ich habe es nicht ausprobiert. Dies ist die einhellige Meinung vieler Beiträge auf csdn.)

Die Einstellung von web.config ist hier.

Sobald jedoch die Größe der hochgeladenen Datei den Dateigrößenbereich dieser Einstellung überschreitet, tritt der folgende Fehler auf: Die Seite kann nicht angezeigt werden. Die Seite, die Sie anzeigen möchten, ist derzeit nicht verfügbar. Möglicherweise sind auf der Website technische Probleme aufgetreten oder Sie müssen möglicherweise Ihre Browsereinstellungen anpassen.

Obwohl es nicht gelöst werden kann, müssen wir diesen Fehler trotzdem erkennen! Was zu tun? Da es sich bei diesem Fehler um einen Vordergrundfehler handelt, der durch die Dateisteuerung verursacht wird, funktioniert der Versuch, ihn mit try...catch im Hintergrund abzufangen, nicht.

Also dachte ich darüber nach, den Fehlererfassungsseitenmechanismus von .NET zu verwenden, um damit umzugehen. Es ist machbar.

Das Folgende ist der zitierte Inhalt:
1. Richten Sie zuerst web.config ein

<customErrors mode="On"/>
Nach dem Login kopieren

2. Erstellen Sie eine neue error.aspx-Datei speziell zur Fehlererfassung.

3. Fügen Sie den Seitenbefehl zur Startseite der ASPX-Seite hinzu, auf die die Datei hochgeladen wird. ErrorPage="UploadError.aspx"

4. Fügen Sie Code in error.aspx hinzu, um festzustellen, ob es sich bei der Fehlermeldung um einen durch die Datei verursachten Vordergrundfehler handelt.

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参数是为了显示错误信息 
} 
}
Nach dem Login kopieren

5. Fehlermeldung anzeigen.

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(&#39;Upload file has failed ! File size is too large !&#39;)</script>"); 
} 
} 
}
Nach dem Login kopieren


Weitere Möglichkeiten zur Verwendung der Datei-Upload-Steuerung von .NET, um große Dateien hochzuladen, beachten Sie bitte die PHP-Chinesen Webseite!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage