PDA

View Full Version : میشه سایز عکس رو وقتی مسیرش توی آپلود هست بدست آورد؟



bbc_sh
پنج شنبه 11 مهر 1387, 19:15 عصر
سلام دوستان
اگه بخوام سایز یه عکس رو بدست بیارم ,حتما باید عکس آپلود شده باشه؟یعنی تویه فولدر ذخیره شده باشه؟
من میخوام زمانی که مسیر اون توی کنترل اپلود هست سایز اونو بدست بیارم و اگه مجاز بود ذخیره بشه ولی این اررور رو میده(روی قسمتی که بلد شده):file not found


FileUpload picup = (FileUpload)e.Item.FindControl("fileupload1");

SqlConnection con = new SqlConnection(connectionstring);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
if (picup.HasFile)
{

string picname = Path.GetFileName(picup.FileName);
System.Drawing.Image image = System.Drawing.Image.FromFile(picname);
int width = image.Width;
int height = image.Height;
if (height == 113 && width == 170)
{
if (string.Compare(System.IO.Path.GetExtension(picup. FileName), ".jpg", true) != 0 && string.Compare(System.IO.Path.GetExtension(picup.F ileName), ".jpeg", true) != 0)
{
Label1.Text = "فرمت مجاز برای عکس های ورودی jpg و jpeg می باشد.";
}
else
{

picup.SaveAs(Server.MapPath("~/picture/") + picname);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "up_type";

cmd.Parameters.AddWithValue("@pic", "~/picture/" + picname);
}
}
else
{
Label1.Text="فقط تصویر 170*113 مجاز به آپلود می باشند.";
}

milade
پنج شنبه 11 مهر 1387, 19:47 عصر
می خوای ارور نده جانم
خوب این که فقط مسیر رو می ده
در جواب هم باید بگم نه نمی شه باید حتما اپلود بشه
خوب چه کاریه پس از اپلود سایزش رو تغییر بده
موفق باشی

ghasemi_dev
پنج شنبه 11 مهر 1387, 23:46 عصر
دوست عزیز راه حلی برای چک کردن فایل سایز قبل از Upload با کنترل FileUpload وجود نداره
تنها راه حل شما اینه که جلوی upload کردن فایل با سایز غیر مجاز رو بگیری که اونم تو این پست هاست

http://forums.asp.net/t/1299068.aspx
http://www.element-it.com/OnlineHelp/Webconfig.html

اما اینجور که تو این پست ها نوشته میتونی از کنترل های نوشته شده استفاده کنی

http://www.easyalgo.com/Examples/EAUpload/UploadFileWithAjaxProgressBar.aspx

منبع سایت asp.net

raravaice
جمعه 12 مهر 1387, 14:06 عصر
System.Drawing.Image.FromStream

FileUpload هم یه InputStream داره.

اندازه رو در بیار و اگر استاندارد بود ذخیره کن.

موفق باشید

bbc_sh
جمعه 12 مهر 1387, 14:24 عصر
System.Drawing.Image.FromStream
میشه بیشتر توضیح بدید .من فقط میخوام عکس هایی باسایز 113*170 آپلود بشن.چه طوری طول و عرض رو بگیرم

Chabok
جمعه 12 مهر 1387, 14:55 عصر
با سلام دوست عزیز

خوب همون طور که دوست عزیزم آقای raravaice فرمودن کنترل فایل آپلود محتوای فایل رو بصورت IO.Stream توسط ویژگی FileContent میده .

شما باید از آن یک تصویر بسازید و سپس شرایط خودتون رو چک کنید :


Dim MyImg As Drawing.Image = Drawing.Image.FromStream(MPic.FileContent)

If MyImg.Width = ... And MyImg.Height = ... Then

نکته :در خط اول حتما بررسی کنید که نوع فایل عکس باشه . در غیر این صورت Exception میترکه :لبخند:

سپس بعد از چک کردن شرایط عکس رو آپلود کنید .

موفق باشید . خدانگهدار