PDA

View Full Version : سوال: چگونه می توان فایل رو در پایگاه داده ذخیره کرد؟



hamedjonjon
جمعه 16 تیر 1391, 13:02 عصر
سلام خدمت دوستان و اساتید گرامی
می خواستم یک فایل word را در دیتابیس ذخبره کنم
اولا باید نوع فیلد دیتابیس رو چی انتخاب کنم؟
دوما نحوه کد نویسی آن به چه صورت است
در انجمن موضوعاتی با این عنوان بود اما من کدها رو امتحان کردم نتونستم کاری از پیش ببرم
لطفا کامل و مرحله به مرحله پاسخ دهید

the king
جمعه 16 تیر 1391, 16:54 عصر
ابتدا نوع بانک اطلاعاتی تون رو مشخص کنید، تا زمانی که نوع بانک اطلاعاتی رو مشخص نکنید کسی نمی تونه با جزئیات مرحله به مرحله راهنمایی تون کنه.

ashe405
جمعه 16 تیر 1391, 16:59 عصر
ابتدا نوع بانک اطلاعاتی تون رو مشخص کنید، تا زمانی که نوع بانک اطلاعاتی رو مشخص نکنید کسی نمی تونه با جزئیات مرحله به مرحله راهنمایی تون کنه.



سلام مثلا در این دیتابیس
Microsoft SQL Server Database File

ali_md110
جمعه 16 تیر 1391, 17:55 عصر
با سلام
ابتدا فیلد جدولتون
varbinary(MAX) انتخاب کنید
سپس باید فایل مورد نظرتون رو به آرایه ای از بایتها توسط کلاس BinaryReader تبدیل کرده و بعد درون دیتابیس زخیرش کنید

string filePath = ("مسیرDoc.docx");
string filename = System.IO.Path.GetFileName(filePath);
System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();
SqlConnection cnn = new SqlConnection("connectionstring.......");
cnn.Open();
string strQuery = "insert into tblFiles(Name, file) values (@Name, @file)";
SqlCommand cmd = new SqlCommand(strQuery,cnn);
cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename;
cmd.Parameters.Add("@file", SqlDbType.Binary).Value = bytes;
cmd.ExecuteNonQuery();