2009-12-19 4 views
1

J'ai une formetélécharger une image et obtenir ses octets

<form name="" method="post" action="Save" enctype="multipart/form-data"> 
     <div id="dialog" title="Upload files">   
     <input type="file" id="Image" name="fileUpload" size="23"/> 
     </div> 
     <input type="submit" value="Create" /> 
</form> 

comment pourrais-je obtenir les obtenir les images octets dans le contrôleur?

Répondre

11

Ajoutez ce qui suit à votre méthode de contrôleur.

 var file = Request.Files["Image"]; 
     if (file != null) 
     { 
     byte[] fileBytes = new byte[file.ContentLength]; 
     file.InputStream.Read(fileBytes, 0, file.ContentLength); 

     // ... now fileBytes[] is filled with the contents of the file. 
     } 
     else 
     { 
     // ... error handling here 
     } 
+2

son supposé être var file = Request.Files ["uploadFile"]; il prend le nom des éléments en tant qu'indexeur :) – CoffeeCode

1
HttpFileCollection files; 
InputStream input; 
int loop1; 
string arr1; 

files = Request.Files; 
arr1 = Files.AllKeys; 

for (loop1 = 0; loop1 < arr1.Length; loop1++) { 
    input = files[loop1].InputStream; 
    // Use input to access the file content. 
} 

Je suis désolé; J'ai mal lu la question.

+3

c'est ok :)
u ai oublié de définir le type loop1s;) – CoffeeCode

+0

OK; maintenant je n'ai oublié aucune déclaration. :-) – kiamlaluno

2
foreach (string file in Request.Files) 
    { 
     HttpPostedFileBase hpf = Request.Files[file]; 
     // hpf.ContentLength has the file size in bytes 
     ... 
    } 
Questions connexes