PDA

View Full Version : سوال: یک تصویر ذخیره شده در پوشه تصاویر را چطور در سایت به نمایش بزاریم؟



پیام حیاتی
شنبه 25 مهر 1394, 12:32 عصر
سلام
دو وب فرم در پروژه ایجاد کردم یکی به نام Admin و یکی هم Default در صفحه Admin.aspx تصویر را در یک پوشه آپلود می کنم :

136096
،
136097

کدها :


string patch1 = "";
if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength < 512000)
{
string filename1 = FileUpload1.FileName;
FileUpload1.PostedFile.SaveAs(Server.MapPath("~\\img_agahi\\" + filename1));
patch1 = "~\\img_agahi\\" + filename1;
}


حال می خواهم تصویر ذخیره شده در پوشه را در صفحه اصلی نمایش دهم ، چطور باید این کار رو انجام بدم؟
تشکر

mohammadhafez
شنبه 25 مهر 1394, 12:49 عصر
سلام
باید از generic handler استفاده کنید اینو ببینید ...
راه زیاده ولی این بهتره

http://www.codeproject.com/Tips/430320/Previewing-Image-in-ASP-NET-Image-Control-using-Cs

پیام حیاتی
شنبه 25 مهر 1394, 13:54 عصر
نتونستم انجام بدم اگر راه کار دیگری بفرمائید ممنون میشم.

mohammadhafez
شنبه 25 مهر 1394, 14:24 عصر
نتونستم انجام بدم اگر راه کار دیگری بفرمائید ممنون میشم.

http://www.dotnetperls.com/image-aspnet

پیام حیاتی
شنبه 25 مهر 1394, 15:22 عصر
نشد، یک راه حل به ذهنم رسید این که مسیر تصویر رو در جدول بانک ذخیره کنم زمان upload و بعد برای نمایش مسیر رو از بانک بخوانم.
برای ذخیره آدرس تصویر در جدول در یک متغیر چه کار باید انجام بدم؟
ان تابع insert:


public void insert_image()
{
string patch1 = "";
if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength < 512000)
{
string filename1 = FileUpload1.FileName;
FileUpload1.PostedFile.SaveAs(Server.MapPath("~\\img_agahi\\" + filename1));
patch1 = "~\\img_agahi\\" + filename1;
}


con.Open();
string Query = "insert into Table_1 (a_img) values ('" + patch1 + "') ";
SqlCommand com = new SqlCommand(Query, con);
com.ExecuteNonQuery();
con.Close();
}

mahsab
دوشنبه 27 مهر 1394, 12:26 عصر
خب موقع درج توی دیتابیس فقط اسم تصویر رو ذخیره کن و موقع خوندی از دیتابیس اسم تصویر رو از دیتابیس بخون و مسیر ذخیره سازی هم که همیشه ثابت هست به صورت یک رشته به ابتدای اسم تصویر اضافه میشه .

salmah
دوشنبه 27 مهر 1394, 13:05 عصر
خب موقع درج توی دیتابیس فقط اسم تصویر رو ذخیره کن و موقع خوندی از دیتابیس اسم تصویر رو از دیتابیس بخون و مسیر ذخیره سازی هم که همیشه ثابت هست به صورت یک رشته به ابتدای اسم تصویر اضافه میشه .
پیشنهاد میشه اسم عکس را با همراه با یه مقدار تصادفی ذخیره کنید تا از ثبت نام دوعکس با یه نام مشابه جلوگیری بشه من همیشه از تاریخ به صورت زیر استفاده می کنم
string d = System.DateTime.Now.ToString("yyyyMMddhhmmss") + FileUpload1.FileName;

پیام حیاتی
سه شنبه 28 مهر 1394, 12:39 عصر
الآن تصویر را در پوشه و نامش رو در بانک با استفاده از کدهای زیر ذخیره می کنم :


string filename1 = "";
if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength < 512000)
{
filename1 = System.DateTime.Now.ToString("yyyyMMddhhmmss") + FileUpload1.FileName;
FileUpload1.PostedFile.SaveAs(Server.MapPath("~\\img\\Namayandegi\\" + filename1));
}

136145

حالا بر اساس id کار می خوام نمایش بدم با استفاده از کدهای زیر :


con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT n_image FROM T_Namayandegi WHERE n_id = '" + txtPeygire.Text + "' ", con);
DataSet ds = new DataSet();
da.Fill(ds, "Temp");
con.Close();
Image1.ImageUrl = @"\img\Namayandegi" + ds.Tables[0].Rows[0][0].ToString();


خطا :


An exception of type 'System.IndexOutOfRangeException' occurred in System.Data.dll but was not handled in user code


Additional information: There is no row at position 0.

پیام حیاتی
چهارشنبه 29 مهر 1394, 13:06 عصر
مشکل در نبود تنها یک / بود :

136173