آیا کسی میتونه به من کمک کنه؟!
میخوام فایل های Flash با فرمت SWF رو داخل SQL Server 2000 ذخیره کنم، و هنگامی که توی برنامه به اون نیاز دارم، ( از داخل DataBase خارج کرده و ) استفاده کنم.
خیلی خیلی هم ممنونم از دوستان عزیز
آیا کسی میتونه به من کمک کنه؟!
میخوام فایل های Flash با فرمت SWF رو داخل SQL Server 2000 ذخیره کنم، و هنگامی که توی برنامه به اون نیاز دارم، ( از داخل DataBase خارج کرده و ) استفاده کنم.
خیلی خیلی هم ممنونم از دوستان عزیز
میشه بگی چرا آدرسشونو تو دیتابیست نگه نمی داری؟ حتماً میخوای فایلتو تو دایتابیس نگه داری؟
آدرس که ارزشی نداره! میخوام خود فایل رو ببرم توی DB مثل عکس و ... مهم اینه که فایل اصلی داخل DB باشه.
میتونید از FileStream استفاده کنید و فایل رو بصورت Byte[] در Database بریزید و برا خوندم هم از FileStream استفاده کنید و در فایل ذخیره کنید.
دوست عزیز فکر کنم منظور دوستمون newgoldenman رو اشتباه متوجه شدی. هدف دوستمون از ذخیره فایل در بانک چیز دیگه ای هست.
دوستمون به هر منظوری به دنبال کدی برای ذخیره و بازیابی فایل در بانک هست نه ایمن سازی فایل Flash
مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084
وب سایت : http://www.mkiani.ir
پست الکترونیک : mkiani3000@gmail.com
موفق و پیروز باشید.
مهدی کیانی
بله دوست عزیز. در این صورتی که شما فرمودین، بله، ولی خواسته و مشکل من چیز دیگریست:
در واقع میخوام برای پروژه هایی که تحویل مشتری میدم، فقط هنگام اجرای برنامه و اون هم باز فقط هنگاهی که نیاز به فایل فلش مربوظه هست، فایل فلش با فرمت SWF رو از دیتا بیس خارج کنم، روی اون پردازش انجام بدم و یا نمایش...
نحوه ذخیره فایل در بانک :
یک جدول بنام TFile در SQL Server 2000 ایجاد کنید. من در بانک Master اینکار رو کردم.
2 تا فیلد با مشخصات زیر ایجاد کنید:
1- name nvarchar key
2-swf image allow null
حالا این کد برای ذخیره در بانک (برای هر فایلی میتونید استفاده کنید) برای مثال از آدرس C:\\1.swf استفاده کردم.
FileStream fs = new FileStream("d:\\1.swf",FileMode.Open);
FileInfo fi = new FileInfo("d:\\1.swf");
byte[] swf = new byte[(int)fi.Length];
fs.Read(swf, 0, (int)fi.Length);
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=master;Persist Security Info=True;Password=1;User ID=sa");
con.Open();
SqlCommand com = new SqlCommand("Insert into TFile (name,swf) Values (@name,@swf)", con);
com.Parameters.Add("name", SqlDbType.NVarChar).Value = "1.swf";
com.Parameters.Add("swf", SqlDbType.Image).Value = swf;
com.ExecuteNonQuery();
con.Close();
اینم کد برای بازیابی از بانک (برای مثال در مسیر d:\\222.swf استفاده کردم)
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=master;Persist Security Info=True;Password=1;User ID=sa");
con.Open();
SqlDataReader dr;
SqlCommand com = new SqlCommand("select * from TFile", con);
dr = com.ExecuteReader();
dr.Read();
byte[] swf = (byte[])dr.GetValue(1);
FileStream fs = new FileStream("d:\\222.swf", FileMode.Create);
fs.Write(swf, 0, swf.Length);
fs.Close();
con.Close();
دستت طلا دوست عزیز. خیلی خیلی خیلی ممنونم.
خواهش میکنم دوست عزیز. فقط اگه مشکلتون کاملا حل شد ، تاپیک رو حل شده اعلام کنید. متشکرم
باور کنید نزدیک به یک سال دنبال این تکنیک بودم! چند ماه پیش هم تاپیک زدم و همین درخواست رو داشتم، ولی به جواب نرسیدم.
یک دنبا ممنونم ازتون