国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

用.Net的File控件上傳文件的解決方案

2024-07-10 13:14:41
字體:
來源:轉載
供稿:網友
在遍歷了csdn中所有關于上傳大文件的帖子以后,寫了這篇垃圾。(:-)) 

上傳大文件,有好幾種方法: 

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



6、搞定收工。(這魚沒有白吃啊) 
經過上述修改,現在的上傳變成了,程序指定文件大小,如果超過,則彈出錯誤提示。 
這樣一來,就好多了,最起碼自己能接受了,跟用戶解釋也不太費勁了。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石棉县| 广东省| 汾西县| 潢川县| 雷山县| 罗平县| 泸水县| 梁平县| 吉木萨尔县| 法库县| 马公市| 峡江县| 崇信县| 乐昌市| 隆德县| 额济纳旗| 随州市| 华坪县| 自治县| 新疆| 三亚市| 武穴市| 乌审旗| 石河子市| 安龙县| 冷水江市| 东至县| 阿拉尔市| 长汀县| 南郑县| 顺昌县| 蒙阴县| 利川市| 徐闻县| 巫山县| 安庆市| 冀州市| 德昌县| 通许县| 克什克腾旗| 西丰县|