国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.net判斷上傳文件類型的三種有效方法

2024-07-10 12:43:34
字體:
來源:轉載
供稿:網友
一、安全性比較低,把文本文件1.txt改成1.jpg照樣可以上傳,但其實現方法容易理解,實現也簡單,所以網上很多還是采取這種方法。
代碼如下:
Boolean fileOk = false;
string path = Server.MapPath("~/images/");
//判斷是否已經選取文件
if (FileUpload1.HasFile)
{
//取得文件的擴展名,并轉換成小寫
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
//限定只能上傳jpg和gif圖片
string[] allowExtension = { ".jpg", ".gif" };
//對上傳的文件的類型進行一個個匹對
int j = 0;
for (int i = 0; i < allowExtension.Length; i++)
{
if (fileExtension == allowExtension[i])
{
fileOk = true;
return;
}
else
{
j++;
}
}
if (j > 0)
{
Response.Write("<script>alert('文件格式不正確');</script>");
return;
}
}
else
{
Response.Write("<script>alert('你還沒有選擇文件');</script>");
return;
}
//如果擴展名符合條件,則上傳
if (fileOk)
{
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
Response.Write("<script>alert('上傳成功');</script>");
}

二、不檢測文件后綴而是檢測文件MIME內容類型。
代碼如下:
Boolean fileOk = false;
string path = Server.MapPath("~/images/");
//判斷是否已經選取文件
if (FileUpload1.HasFile)
{
//取得文件MIME內容類型
string type = this.FileUpload1.PostedFile.ContentType.ToLower();
if (type.Contains("image")) //圖片的MIME類型為"image/xxx",這里只判斷是否圖片。
{
fileOk = true;
}
else
{
Response.Write("<script>alert('格式不正確')</script>");
}
}
else
{
Response.Write("<script>alert('你還沒有選擇文件');</script>");
}
//如果擴展名符合條件,則上傳
if (fileOk)
{
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
Response.Write("<script>alert('上傳成功');</script>");
}

三、可以實現真正意義上的文件類型判斷
代碼如下:
try
{
//判斷是否已經選取文件
if (FileUpload1.HasFile)
{
if (IsAllowedExtension(FileUpload1))
{
string path = Server.MapPath("~/images/");
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
Response.Write("<script>alert('上傳成功');</script>");
}
else
{
Response.Write("<script>alert('您只能上傳jpg或者gif圖片');</script>");
}
}
else
{
Response.Write("<script>alert('你還沒有選擇文件');</script>");
}
}
catch (Exception error)
{
Response.Write(error.ToString());
}
#endregion
}
//真正判斷文件類型的關鍵函數
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);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙河市| 安远县| 安顺市| 锡林郭勒盟| 莱芜市| 江达县| 肇源县| 永安市| 莒南县| 安多县| 项城市| 集贤县| 博客| 灌南县| 淮北市| 弥勒县| 嵊州市| 马山县| 洮南市| 广南县| 华池县| 南溪县| 田阳县| 德惠市| 汾西县| 澄城县| 丁青县| 特克斯县| 栾城县| 手游| 响水县| 金平| 堆龙德庆县| 临颍县| 崇阳县| 台北县| 平凉市| 枞阳县| 沽源县| 苍山县| 寿光市|