Asp.net上传文件,过滤不符合要求格式的文件
Asp.net上传文件,需要过滤不符合要求格式的文件,你可以先使用下面这个方法,查出所有允许用户上传文件要格式:
http://www.cnblogs.com/insus/articles/1980495.html
放在一个阵列中,如:
string[] fileClass = { "7076", "4838" }; //7076 is FLV;4838 is wmv;
然后写一个方法去判断:
View Code
bool CompareFileClass(string path, string[] allowFileClass)
{
try
{
bool result = false;
string fileClass = GetFileCass(path);
for (int i = 0; i < allowFileClass.Length; i++)
{
if (string.Compare(fileClass, allowFileClass[i], true) != 0) continue;
result = true;
}
return result;
}
catch
{
return false;
}
}
{
try
{
bool result = false;
string fileClass = GetFileCass(path);
for (int i = 0; i < allowFileClass.Length; i++)
{
if (string.Compare(fileClass, allowFileClass[i], true) != 0) continue;
result = true;
}
return result;
}
catch
{
return false;
}
}
最后在上传铵钮Click事件写代码,仅供参考:
View Code
protected void Button1_Click(object sender, EventArgs e)
{
//判断用户是否有选择一个文件。
if (!File.Exists(this.FileUpload1.PostedFile.FileName))
{
objJs.JsAlert("You did not specify a file.");
return;
}
//宣告一个变量,存储上传的文件。
string path = this.FileUpload1.PostedFile.FileName;
//这个定制好允许用户上传的文件格式。
string[] fileClass = { "7076", "4838" }; //7076 is FLV;4838 is wmv;
//判断上传的文件是否是允许的上传的文件格式
if (!CompareFileClass(path, fileClass))
{
objJs.JsAlert("You did not specify a media file.");
return;
}
//如果检测到上传文件符合格式要求,处理接下来的事情。
}
{
//判断用户是否有选择一个文件。
if (!File.Exists(this.FileUpload1.PostedFile.FileName))
{
objJs.JsAlert("You did not specify a file.");
return;
}
//宣告一个变量,存储上传的文件。
string path = this.FileUpload1.PostedFile.FileName;
//这个定制好允许用户上传的文件格式。
string[] fileClass = { "7076", "4838" }; //7076 is FLV;4838 is wmv;
//判断上传的文件是否是允许的上传的文件格式
if (!CompareFileClass(path, fileClass))
{
objJs.JsAlert("You did not specify a media file.");
return;
}
//如果检测到上传文件符合格式要求,处理接下来的事情。
}