PDA

View Full Version : سوال: سوال در مورد آپلود با fileupload



Ali0Boy
سه شنبه 18 بهمن 1390, 17:38 عصر
سلام دوستان من برای آپلود عکس در هاست خود از کد زیر استفاده کرده ام:

File.Copy(upFilesA1.FileName.ToString(), Request.PhysicalApplicationPath + "img\\a.jpg");
ولی متاسفانه کد بالا با خطا مواجه می شود.
بررسی که کردم دیدم fileName فقط نام فایل را می دهد و دایرکتوری فایل را نمی دهد. از postedFile استفاده کردم بازم با خطا مواجه شدم. بررسی کردم باز به نتیجه نرسیدم.
لطفا راهنمایی کنید.

در ضمن می می خواهم برایش فیلتر قرار بدهم که فقط عکس های jpg و png رو کاربر بتواند انتخاب کند و نه اینکه در کد چک کنم آیا آخرش با jpg تموم شده یا نه؟ آیا همچین پروپرتیسی داریم و یا نشدنیست؟
ممنون می شوم راهنمایی کنید.

ramin149
سه شنبه 18 بهمن 1390, 17:58 عصر
یک تابع برای ذخیره عکس


سایز عکس رو چک می کنه
نوع فایلی که ارسال می شه
نام فایل
تغییر اندازه عکس


public bool GroupImages(int width, int height, HiddenField addrees, FileUpload fileup, Label Error)
{
string mypath = HttpContext.Current.Server.MapPath("~") + "/Administrator/Images/Group/";
string oldphoto = HttpContext.Current.Server.MapPath("~") + "/Administrator/Images/Group/Old/";

if (!Directory.Exists(HttpContext.Current.Server.MapP ath("~/Administrator/Images/Group/")))
{
Directory.CreateDirectory(HttpContext.Current.Serv er.MapPath("~/Administrator/Images/Group/"));
}
if (!Directory.Exists(HttpContext.Current.Server.MapP ath("~/Administrator/Images/Group/Old")))
{
Directory.CreateDirectory(HttpContext.Current.Serv er.MapPath("~/Administrator/Images/Group/Old"));
}

string[] validextention = { ".jpg", ".png", ".bnp", ".jpeg", ".gif" };
string x = System.IO.Path.GetExtension(fileup.PostedFile.File Name);
if (Array.IndexOf(validextention, x.ToLower()) < 0)
{
Error.Text = "you seleted invalid type of image for uploading";
return false;
}


long sizefile = fileup.PostedFile.ContentLength;
sizefile = sizefile / 1024;
if (sizefile > 30000)
{
Error.Text = "invalid size image uploading";
return false;
}

string filename = System.IO.Path.GetFileName(fileup.PostedFile.FileN ame);
while (System.IO.File.Exists(mypath + filename))
{
int c = filename.Length - x.Length;
filename = filename.Insert(c, "3");

}
fileup.PostedFile.SaveAs(oldphoto + filename);


System.Drawing.Image sphotos;
sphotos = System.Drawing.Image.FromFile((oldphoto + filename));
Bitmap convert = new Bitmap(sphotos, width, height);
object imageformat = sphotos.RawFormat;
convert.Save(mypath + filename);
addrees.Value = "~/Administrator/Images/Group/" + filename;

Error.Text = "عکس ذخیره شد";

sphotos.Dispose();
sphotos = null;
convert.Dispose();
convert = null;
fileup.Dispose();
fileup = null;
System.IO.File.Delete(oldphoto + filename);
return true;
}

Ali0Boy
سه شنبه 18 بهمن 1390, 18:10 عصر
ممنون مشکلم بر طرف شد