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

Я хочу получить расширение файла для динамического создания имени файла. Один из способов я буду использовать для разделения типа. но могу ли я использовать объект HttpPostedFileBase, чтобы получить расширение в чистом виде?asp.net mvc HttpPostedFileBase получение расширения файла

ответ

99

Как это:

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

Это будет включать в себя ведущую ..

Обратите внимание, что вы не должны допускать, чтобы расширение было правильным.

+0

Возможно, стоит отметить, что определение типа из байта [] не очень просто. ;) Вам придется предполагать использование MagicStrings, используя неуправляемый код, или выполнять расследовательскую работу, как итеративно, как различные типы, до тех пор, пока она не завершится неудачей, и т. Д. Если это внутреннее приложение, последствия ошибочной загрузки файлов могут быть смягчается на стороне потребления, а угроза злонамеренного использования чрезвычайно низка, полагаясь на расширение, вероятно, достаточно разумно по сравнению с расходами на выполнение остальных. Взвешивайте свои варианты соответственно :) – JoeBrockhaus

+0

Мое имя файла похоже на «hello.zip», но эта команда возвращает «+ 7ip» –

Смежные вопросы