2010-08-12 6 views
1

je une coutume IHttpHandler qui est utilisé par les clients épais pour télécharger des fichiers en utilisant une URL telle queRenvoyer un fichier en utilisant asp.net mvc?

http://url.ashx?id=123&version=456 

le gestionnaire de code se termine essentiellement avec

context.Response.WriteFile(myLocalServerPath); 

Est-il possible de le remplacer en mode standard modèle de contrôleur mvc asp.net?

Répondre

3

Dans une action:

byte[] fileBytes = ...; 
string fileName = "example"; 
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName); 

(Ou un type MIME plus spécifique si elle est connue)

+0

Si nous sommes retournés un MIME plus spécifique, il sera juste affiché dans le navigateur (au cas où des images), comment pouvons-nous le télécharger (en utilisant le MIME plus spécifique)? –

0

De cette site mais simplifiée:

public FileResult Download() 
    { 
     string filename = "test.pdf"; 
     string contentType = "application/pdf"; 
     //Parameters to file are 
     //1. The File Path on the File Server 
     //2. The content type MIME type 
     //3. The parameter for the file save by the browser 
     return File(filename, contentType,"Report.pdf"); 
    }