پروگرامنویس
پنج شنبه 12 بهمن 1391, 15:32 عصر
من یه صفحه ویرایش پروفایل دارم که توش کاربر میتونه گدرواژه ،ایمیل و عکس پروفایل خودش رو آپدیت کنه.
مشکلم سر چک کردن پسوند فایل آپلود شدس(عکس کاربر)!
میخوام وقتی کاربر یه فایل غیر عکس رو میخواد آپ کنه بهش پیام خطا بده!
واسه فایل های zip و pdf کدها درست کار میکنن ولی وقتی یه فایل از نوع exe یا rar رو میخوام آپ کنم صفحه زیر لود میشه و کدها اجرا نمیشن
http://upload.tehran98.com/img1/zinsk0u1hvvy1r0pmai9.png
این هم کدهای صفحه:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
User u = new User();
Lblmsg.Text = "";
u.UserName = Session["adm"].ToString();
u.SelectUser();
LblDate.Text = u.Date;
LblRole.Text = u.IsAdmin;
LblUserName.Text = u.UserName;
TxtEmail.Text = u.Email;
TxtPass.Text = u.Password;
TxtPass2.Text = u.Password;
Download dl = new Download();
News n = new News();
dl.UserName = Session["adm"].ToString();
DataTable dt_d = dl.SelectFilesOneUser();
GvFile.DataSource = dt_d;
GvFile.DataBind();
n.UserName = Session["adm"].ToString();
DataTable dt_n = n.SelectNewsOneUser();
GvNews.DataSource = dt_n;
GvNews.DataBind();
}
}
protected void BtnOk_Click(object sender, EventArgs e)
{
User u = new User();
u.UserName = Session["adm"].ToString();
u.SelectUser();
string tmppic = u.Picture;
string path = Server.MapPath("..\\") + "image\\user-pic\\";
if (UpPic.HasFile==false) // اگه کاربر عکس پروفالش رو تغییر نده
{
u.UserName = Session["adm"].ToString();
u.Password = TxtPass.Text;
u.Email = TxtEmail.Text;
u.Picture = tmppic;
u.EditeUser();
Response.Redirect("AdMyProfile.aspx");
return;
}
else
{
string picname = LblUserName.Text;
bool b = false;
String[] validext = { ".jpg", ".gif", ".png",".jpeg",".bmp" };
string ext =
System.IO.Path.GetExtension(UpPic.PostedFile.FileN ame.ToLower());
for (int i = 0; i < validext.Length; i++)
{
if (ext != validext[i])
{
b = true;
break;
}
}
if (!b)
{
Lblmsg.Text = "فایل شما عکس نیست!";
return;
}
//if (Array.IndexOf(VExtPic, extpic.ToLower()) < 0)
//{
// Lblmsg.Text = "فایل شما عکس نیست!";
// return;
//}
long size = UpPic.PostedFile.ContentLength;
size = size / 1024;
if (size > 300)
{
Lblmsg.Text = "حجم فایل بیش از حد است!";
return;
}
//________________________________
u.Picture = picname + ext; ;
u.Password = TxtPass.Text;
u.Email = TxtEmail.Text;
u.UserName = Session["adm"].ToString();
u.EditeUser();
UpPic.PostedFile.SaveAs(path + picname + ext);
//--------------------------------------------------------
Response.Redirect("AdMyProfile.aspx");
return;
}
}
مشکلم سر چک کردن پسوند فایل آپلود شدس(عکس کاربر)!
میخوام وقتی کاربر یه فایل غیر عکس رو میخواد آپ کنه بهش پیام خطا بده!
واسه فایل های zip و pdf کدها درست کار میکنن ولی وقتی یه فایل از نوع exe یا rar رو میخوام آپ کنم صفحه زیر لود میشه و کدها اجرا نمیشن
http://upload.tehran98.com/img1/zinsk0u1hvvy1r0pmai9.png
این هم کدهای صفحه:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
User u = new User();
Lblmsg.Text = "";
u.UserName = Session["adm"].ToString();
u.SelectUser();
LblDate.Text = u.Date;
LblRole.Text = u.IsAdmin;
LblUserName.Text = u.UserName;
TxtEmail.Text = u.Email;
TxtPass.Text = u.Password;
TxtPass2.Text = u.Password;
Download dl = new Download();
News n = new News();
dl.UserName = Session["adm"].ToString();
DataTable dt_d = dl.SelectFilesOneUser();
GvFile.DataSource = dt_d;
GvFile.DataBind();
n.UserName = Session["adm"].ToString();
DataTable dt_n = n.SelectNewsOneUser();
GvNews.DataSource = dt_n;
GvNews.DataBind();
}
}
protected void BtnOk_Click(object sender, EventArgs e)
{
User u = new User();
u.UserName = Session["adm"].ToString();
u.SelectUser();
string tmppic = u.Picture;
string path = Server.MapPath("..\\") + "image\\user-pic\\";
if (UpPic.HasFile==false) // اگه کاربر عکس پروفالش رو تغییر نده
{
u.UserName = Session["adm"].ToString();
u.Password = TxtPass.Text;
u.Email = TxtEmail.Text;
u.Picture = tmppic;
u.EditeUser();
Response.Redirect("AdMyProfile.aspx");
return;
}
else
{
string picname = LblUserName.Text;
bool b = false;
String[] validext = { ".jpg", ".gif", ".png",".jpeg",".bmp" };
string ext =
System.IO.Path.GetExtension(UpPic.PostedFile.FileN ame.ToLower());
for (int i = 0; i < validext.Length; i++)
{
if (ext != validext[i])
{
b = true;
break;
}
}
if (!b)
{
Lblmsg.Text = "فایل شما عکس نیست!";
return;
}
//if (Array.IndexOf(VExtPic, extpic.ToLower()) < 0)
//{
// Lblmsg.Text = "فایل شما عکس نیست!";
// return;
//}
long size = UpPic.PostedFile.ContentLength;
size = size / 1024;
if (size > 300)
{
Lblmsg.Text = "حجم فایل بیش از حد است!";
return;
}
//________________________________
u.Picture = picname + ext; ;
u.Password = TxtPass.Text;
u.Email = TxtEmail.Text;
u.UserName = Session["adm"].ToString();
u.EditeUser();
UpPic.PostedFile.SaveAs(path + picname + ext);
//--------------------------------------------------------
Response.Redirect("AdMyProfile.aspx");
return;
}
}