2010-09-27 45 views
1

文件大小驗證在Internet Explorer中不起作用,它在FireFox中工作正常。它在Internet Explorer中的八位字節上發佈,可能是什麼原因?asp.net mvc c#Request.Files [0] .ContentLength獲取零個Internet Explorer

Session["ContentLength"] = (Request.Files[0].ContentLength/1024); 
Session["ContentType"] = Request.Files[0].ContentType; 
byte[] b = new byte[Request.Files[0].ContentLength]; 
Request.Files[0].InputStream.Read(b, 0, Request.Files[0].ContentLength); 
Session["ContentStream"] = b; 
return Content(Request.Files[0].ContentType + ";" + Request.Files[0].ContentLength/1024); 
+0

「張貼在八位字節」是什麼意思? – 2010-09-27 15:08:48

+0

contenttype中的octet-stream – maztt 2010-09-27 15:12:50

+0

它在Firefox中發佈有效類型 – maztt 2010-09-27 15:13:11

回答

1

在保持其包含的文件上傳模塊的傳統的ASP應用程序,我在一段時間遇到了一個奇特的錯誤,其中每一次,用戶的上傳將被拒絕(我們過濾的MIME類型,這樣只有某些類型的文件被允許),即使它是一個有效的文件類型。

這個問題在Microsoft Office應用程序中顯得很古怪。如果用戶試圖在其各自的軟件中打開時上傳Office文件(例如,在Word中打開.doc文件),則mime類型將錯誤地報告爲Octet-Stream。