ذخیره عکس در دیتابیس

mahtab30

کاربر فعال
سلام بچه ها کسی میدونه چطوری میشه با استفاده از input file عکس رو تو دیتابیس ذخیره کرد و اونو تو یه صفحه دیگه نشون داد ؟
 

A.S.Roma

عضو جدید
کاربر ممتاز
منطقی تر اینه که نام و مسیر عکس رو تو دیتابیس ذخیره کنی و خود عکس رو تو هاست.
توی بانکت یه فیلد بذار به نام Photo از جنس varchar از Input File فایل رو بخون اسمشو تو بانک بذار و خودشو از طریق متد Save تو هاست ( هارد ) کپی کن.
موقع نشون دادن هم خاصیت ImageUrl کنترل Image رو بایند می کنی به فیلد Photo
 

mahtab30

کاربر فعال
دوست خوبم میشه یکم توضیح بدی ؟
با این کدها اسمشو میشه ذخیره کرد . آدرسشو چجوری میشه ذخیره کرد ؟
cmd.CommandText = "insert into m1 (photo) values (@photo)";
cmd.Parameters.AddWithValue("@photo", File1.Value(;
و خودشو چجوری از طریق متد save تو هاست کپی کنم ؟ مرسی
 

A.S.Roma

عضو جدید
کاربر ممتاز
دوست خوبم میشه یکم توضیح بدی ؟
با این کدها اسمشو میشه ذخیره کرد . آدرسشو چجوری میشه ذخیره کرد ؟
cmd.CommandText = "insert into m1 (photo) values (@photo)";
cmd.Parameters.AddWithValue("@photo", File1.Value(;
و خودشو چجوری از طریق متد save تو هاست کپی کنم ؟ مرسی
فرض کنید یک پوشه دارید به نام Images که کل عکسهاتون رو اونجا میریزید :
کد:
string path = "~/Images/";
if (FileUpload1.PostedFile.ContentLength == 0)
{
        //File Is not valid ...
          return;
}
 string fileName = FileUpload1.PostedFile.FileName;
 string fullPath = path + fileName;
SubmitInDataBase(fullPath);
FileUpload1.SaveAs(Server.MapPath(fullPath));
کار متد SubmitInDataBase ثبت نام فایل به همراه مسیر ( متغییر Fullpath ) در دیتابیس است. که بایستی پیاده سازی شود.

 

mahtab30

کاربر فعال
مرسی از لطفتون . فقط اگه ممکنه بگید آدرسو باید چجوری بدم . آخه هر کاری میکنم exeption میده .
 

A.S.Roma

عضو جدید
کاربر ممتاز
شما باید فیلد آدرس رو اینجوری ذخیره کنید :
کد:
~/Images/filename.jpg
توی کدی که بالا قرار دادم میشه متغییر fullPath .
شما دقیقا" چی مینوسی ؟!
و روی کدوم خط ارور میگیری !؟
 

mahtab30

کاربر فعال
همین خطی که متغیر path رو تعریف میکنم :
کد:
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] path = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"D:/image/"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
کلا هر شکلی مینویسم Exeption میده . با دو تا اسلش و بک اسلش هم امتحان کردم


.
 
آخرین ویرایش:

A.S.Roma

عضو جدید
کاربر ممتاز
توجه کنید که می نویسه Virtual Path ... .
در طراحی سایت شما یک فولدر Root دارید . یعنی فولدری که وبسایتتون اونجا کپی شده . این فولدر تو کامپیوتر شما می تونه درایو D باشه تو کامپیوتر من میتونه درایو F , E یا هر جای دیگه باشه ! حالا چکار کنیم که سایت روی هر PC اجرا بشه !؟ اینجاست که نیاز به آدرس دهی مجازی احساس میشه.

تو کدهایی که من براتون گذاشتم اینجوری آدرس دادم :
کد:
~/Images/
علامت تیلدا (~) نشانگر همون فولدر root هست. کار متد Server.MapPath هم تبدیل آدرس مجازی به آدرس واقعی ( که مثلا" میشه D:/Images ).

پس دوست من اگر می خوای برنامت کار کنه . تو فولدر پروژت یه بولدر بساز به نام Images بعد تو آدرس دهی مثل من بنویس.
موفق باشی ...
 

mahtab30

کاربر فعال
مرسی دوست عزیزم . فکر کردم منظورت اینه که خودم یه پوشه image توی کامپیوتر بسازم و آدرس واقعی شو بنویسم . خیلی خیلی لطف کردی . مشکلم حل شد . بازم ممنون .:gol::gol:
 

Similar threads

بالا