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

quiero conseguir la extensión del archivo para generar dinámicamente el nombre de la forma file.One voy a utilizar para dividir el tipo. pero ¿puedo usar el objeto HttpPostedFileBase para obtener la extensión de forma limpia?asp.net mvc HttpPostedFileBase conseguir extensión de archivo

Respuesta

99

De esta manera:

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

Esto incluirá un líder ..

Tenga en cuenta que no debe asumir que la extensión es correcta.

+0

Puede valer la pena mencionar que determinar el tipo de byte [] no es muy sencillo. ;) Tendrás que asumir el uso de MagicStrings, usar código no administrado o realizar trabajos de investigación como consumir iterativamente de varios tipos hasta que no falle, etc. Si se trata de una aplicación interna, las consecuencias de la carga de archivos mal escritos pueden ser mitigado en el extremo consumidor, y la amenaza de uso malicioso es extremadamente baja, depender de la extensión es probablemente lo suficientemente razonable en comparación con el gasto de hacer el resto. Pondere sus opciones en consecuencia :) – JoeBrockhaus

+0

Mi nombre de archivo es como "hello.zip" pero este comando devuelve ". + 7ip" –

Cuestiones relacionadas