2010-09-27 5 views
1

La validation de la taille du fichier ne fonctionne pas dans Internet Explorer, cela a fonctionné correctement dans FireFox. C'est poster à l'octet dans Internet Explorer, quelle pourrait être la raison?asp.net mvc C# Request.Files [0] .ContentLength obtenir zéro 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

Que signifie "comptabiliser à l'octet"? –

+0

octet-stream dans le type de contenu – maztt

+0

il est le type valide dans firefox – maztt

Répondre

1

Tout en maintenant une application asp héritage qui comprenait un module de téléchargement de fichiers, j'ai rencontré une erreur particulière où chaque fois dans un certain temps, serait rejeté le téléchargement d'un utilisateur (nous avons filtré le type mime de sorte que seuls certains types de fichiers étaient autorisés) même si c'était un type de fichier valide.

Le problème s'est avéré être une anomalie avec Microsoft Office Applications. Si l'utilisateur essayait de télécharger un fichier office alors qu'il était ouvert dans son logiciel respectif (par exemple: fichier .doc ouvert dans Word), le type mime serait incorrectement signalé comme Octet-Stream.