2010-05-28 6 views
33
public string ContructOrganizationNameLogo(HttpPostedFileBase upload, string OrganizationName, int OrganizationID,string LangName) 
    { 
     var UploadedfileName = Path.GetFileName(upload.FileName); 
     string type = upload.ContentType; 
    } 

Je veux obtenir l'extension du fichier pour générer dynamiquement le nom du fichier. D'une manière que je vais utiliser pour diviser le type. mais puis-je utiliser l'objet HttpPostedFileBase pour obtenir l'extension de manière propre?asp.net mvc HttpPostedFileBase obtenir l'extension de fichier

Répondre

99

Comme ceci:

string extension = Path.GetExtension(upload.FileName); 

Cela comprendra un chef de file ..

Notez que vous ne devez pas supposer que l'extension est correcte.

+0

Il peut être utile de mentionner que le type de détermination de byte [] n'est pas très simple. ;) Vous devrez supposer en utilisant MagicStrings, en utilisant du code non managé, ou faire un travail d'investigation comme consommer itérativement comme différents types jusqu'à ce qu'il échoue, etc. S'il s'agit d'une application interne, les conséquences d'uploads de fichiers mal typés peuvent être atténué du côté de la consommation, et la menace d'utilisation malveillante est extrêmement faible, compter sur l'extension est probablement assez raisonnable par rapport à la dépense de faire le reste. Pesez vos options en conséquence :) – JoeBrockhaus

+0

Mon nom de fichier est comme "hello.zip" mais cette commande retourne ". + 7ip" –

Questions connexes