服务器之家

服务器之家 > 正文

ASP.NET在上传文件时对文件类型的高级判断的代码

时间:2019-06-28 14:00     来源/作者:服务器之家
代码如下:

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; 



测试通过....

相关文章

热门资讯

叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式 2019-06-13
叠猫猫可以邀请多少人 叠猫猫大挑战一个队最多多少人
叠猫猫可以邀请多少人 叠猫猫大挑战一个队最多多少人 2019-06-05
淘宝618叠猫猫怎么退出队伍?每天可退出几次队伍
淘宝618叠猫猫怎么退出队伍?每天可退出几次队伍 2019-06-06
返回顶部