ASP.NET在上传文件时对文件类型的高级判断的代码
ASP.NET在上传文件时对文件类型的高级判断的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:usingSystem;usingSystem.Data;usingSystem.Configuration;usingS...

复制代码 代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void bt_upload_Click(object sender, EventArgs e)

{

try

{

if (FileUpload1.PostedFile.FileName == "")

{

this.lb_info.Text = "请选择文件!";

}

else

{

string filepath = FileUpload1.PostedFile.FileName;

if (IsAllowedExtension(FileUpload1) == true)

{

string filename = filepath.Substring(filepath.LastIndexOf("") + 1);

string serverpath = Server.MapPath("images/") + filename;

FileUpload1.PostedFile.SaveAs(serverpath);

this.lb_info.Text = "上传成功!";

}

else

{

this.lb_info.Text = "请上传图片";

}

}

}

catch (Exception error)

{

this.lb_info.Text = "上传发生错误!原因:" + error.ToString();

}

}

public static bool IsAllowedExtension(FileUpload hifile)

{

System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);

System.IO.BinaryReader r = new System.IO.BinaryReader(fs);

string fileclass = "";

byte buffer;

try

{

buffer = r.ReadByte();

fileclass = buffer.ToString();

buffer = r.ReadByte();

fileclass += buffer.ToString();

}

catch

{

}

r.Close();

fs.Close();

if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar

{

return true;

}

else

{

return false;

}

}

}

测试通过....

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类