上传问题,求救!
以下程序为何在上传中文文件名和较长文件名都返回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( ". ")
如果文件名里含有 ". "呢?
------解决方案--------------------你断点看一下就明白了
你应该把后缀名取出来再验证,分开来最好了