2010-05-28 206 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 2014-12-05 18:12:05

+0

我的文件名像“hello.zip”,但是这个命令返回“。+ 7ip” – 2016-08-03 01:58:45