PDA

View Full Version : سوال: چلوگیری از ورود عکس از یک اندازه خاص لطفا اساتید کمک کنید



ahmadi_development
دوشنبه 27 شهریور 1391, 23:30 عصر
من برای نمایش عکس در گرید ویو مشکل دارم می خوام عکسی که کاربر وارد می کنه از یک عرض وطول مشخص بزرگتر نباشه من عکس هارو به شکل زیر در دیتابیس ذخیره میکنم لطفا کمک کنید خیلی وقت ندارم گیر کردم
string[] validext = { ".jpg", ".gif", ".png" };
string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile .FileName);
if (Array.IndexOf(validext, ext.ToLower()) < 0)
{
Response.Write("نوع فایل غیر مجاز است");
return;
}
int size = FileUpload1.PostedFile.ContentLength;
size = size / 1024;
if (size > 30)
{
Label4.Text = ("اندازه عکس باید کمتر از 30 کیلو بایت باشد");
return;
}
if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(Request.PhysicalApplicationPath +FileUpload1.FileName);
}
//************************************************** ************************************************** ***********

//************************************************** ************************************************** ***********
SqlConnection con1 = new SqlConnection("Data Source=.;Initial Catalog=exampl;Integrated Security=True");
con1.Open();
String strquery = "insert into t4(name,family,im)values (N'" + DropDownList1.SelectedItem.Text + "',N'" + DropDownList2.SelectedItem.Text + "','" + "~/" +FileUpload1.FileName+ "')";
SqlCommand com1 = new SqlCommand(strquery, con1);
com1.ExecuteNonQuery();
GridView1.DataBind();
con1.Close();
}

hamed_hossani
دوشنبه 27 شهریور 1391, 23:35 عصر
سلام
عکس را زمانی که از فایل اپلود میگیری چک کن!:متفکر:
اگه از یه حدی مورد نظر بیشتر است بهش پیام بده!:ناراحت:

mdt414
سه شنبه 28 شهریور 1391, 00:36 صبح
از یک Custom Validator استفاده کن.



<asp:CustomValidator ID="cvFileUpload" runat="server"
ControlToValidate="FileUpload" Display="Dynamic"
ErrorMessage="* حجم فایل یا نوع فایل غیر قابل قبول است" ForeColor="Blue"
onservervalidate="cvFileUpload_ServerValidate" SetFocusOnError="True"></asp:CustomValidator>


و در رویداد onservervalidate این کد رو بنویس :


if (FileUpload.PostedFile.ContentLength != 0 && FileUpload.PostedFile.ContentLength < 71700 &&
(FileUpload.PostedFile.ContentType == "image/jpeg" || FileUpload.PostedFile.ContentType == "image/pjpeg" || FileUpload.PostedFile.ContentType == "image/pipeg"))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}


بعد در قسمتی که دکمه تایید فرم رو میخوای بذاری مقدار Page.IsValid رو چک کن که اگر true بود که کد رو اجرا بکنه...در غیر این صورت خود سیستم پیغام خطایی که در Validator نوشیتی رو نمایش می ده. در ضمن من اینجا حداکثر حجم فایل رو 70 کیل.بایت در نظر گرفتم.

* نکته دیگه این که برای این که توی گرید نشون بدی سعی کن از عکس هات یک نمونه کوچک Thumbnail درست کنی و توی گرید اون رو نشون بدی. thumbnail رو هم خیلی ساده می تونی از تغییر اندازه عکس ایجاد کنی و ذخیره کنی.