PDA

View Full Version : سوال: مشکل با چک کردن پسوندهای قایل در fileupload control



پروگرامنویس
پنج شنبه 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;
}
}

mehrzad_ali
پنج شنبه 12 بهمن 1391, 16:13 عصر
دانلود کنید. کاملترین برنامه آپلود عکس که شامل ... (http://barnamenevis.org/showthread.php?278138-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF.-%DA%A9%D8%A7%D9%85%D9%84%D8%AA%D8%B1%DB%8C%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-%D8%B9%DA%A9%D8%B3-%DA%A9%D9%87-%D8%B4%D8%A7%D9%85%D9%84-...)

پروگرامنویس
پنج شنبه 12 بهمن 1391, 16:45 عصر
دانلود کنید. کاملترین برنامه آپلود عکس که شامل ... (http://barnamenevis.org/showthread.php?278138-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF.-%DA%A9%D8%A7%D9%85%D9%84%D8%AA%D8%B1%DB%8C%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-%D8%B9%DA%A9%D8%B3-%DA%A9%D9%87-%D8%B4%D8%A7%D9%85%D9%84-...)

ممنون
ولی اگه ممکنه مشکل کد من رو بگید چون من تو صفحه های دیگه میخوام فایلهای exe و rar رو تو سایتم آپ کنم . همونطور که گفتم مشکل سر برخورد با پسوندهای exe و rar هستش .
لطفا بگید مشکل کار کجاس .