日期:2014-05-20  浏览次数:20409 次

上传问题,求救!
以下程序为何在上传中文文件名和较长文件名都返回false?

public     bool   IsAllowedExtension(HtmlInputFile   hifile)
{
string   strOldFilePath   =   " ",strExtension   =   " ";

//允许上传的扩展名,可以改成从配置文件中读出
string[]   arrExtension   =   { ".gif ", ".jpg ", ".jpeg "};
//string[]   arrExtension   =   { "image/pjpeg ", "image/gif "};

if(hifile.PostedFile.FileName   !=   string.Empty)
{
strOldFilePath   =   hifile.PostedFile.FileName;
//取得上传文件的扩展名
strExtension   =   strOldFilePath.Substring(strOldFilePath.LastIndexOf( ". "));
//判断该扩展名是否合法
for(int   i   =   0;   i <   arrExtension.Length;   i++)
{
if(strExtension.Equals(arrExtension[i]))
{
return   true;
}
}
}
return   false;
}

------解决方案--------------------
传中文文件名和较长文件名都返回false
====
设置断点,追踪一下!

====
LastIndexOf( ". ")

如果文件名里含有 ". "呢?

------解决方案--------------------
你断点看一下就明白了
你应该把后缀名取出来再验证,分开来最好了