PDA

View Full Version : ذخیره عکس



mohsenaminzare
جمعه 19 مهر 1387, 14:00 عصر
با سلام
درمورد ذخیره ی عکس در sql server بار ها در تاپیک های مختلف بحث شده ولی یک کد ساده و جامع ارائه نشده. لطفا دوستان کمک کنند و فقط برنامه ای که در فرم ان یک عکس رو گرفته و در SQL ذخیره کند رو توضیح دهند ممنون می شم.

rooshan2008
جمعه 19 مهر 1387, 15:16 عصر
سلام
با اینکه دوستان عزیز خیلی این کار رو کردن ولی من هم یک نمونه مثال می زنم تا قشنگ جا بیفته:

فرض کنید جدول من این هست
http://img7.pictiger.com/b03/17034740.jpg
ابن کد مربوط به خوندن عکس و فایل به صورت باینری به سه قالب




Function ReadImage(ByVal strPath As String) As Byte()
Return FileIO.FileSystem.ReadAllBytes(strPath)
End Function


Function ReadImage(ByVal Pic As PictureBox) As Byte()
Dim ms As New IO.MemoryStream
Pic.Image.Save(ms, Imaging.ImageFormat.Jpeg)
Return ms.ToArray
End Function


Function ReadImage(ByVal Img As Image) As Byte()
Dim ms As New IO.MemoryStream
Img.Save(ms, Imaging.ImageFormat.Jpeg)
Return ms.ToArray
End Function




این هم کد مربوط به ذخیره در بانک




Dim Connecting As New System.Data.SqlClient.SqlConnection
Dim Command1 As New SqlClient.SqlCommand
Connecting.ConnectionString = Con_String()
Connecting.Open()
Command1.Connection = Connecting
Dim Buffer() = ReadImage(PictureBox1)***
Command1.CommandText = "insert into My (name,img) values (@name,@img)"

Command1.Parameters.Add(New SqlClient.SqlParameter("@name", SqlDbType.VarChar, 50)).Value = "The Best"

Command1.Parameters.Add(New SqlClient.SqlParameter("@img", SqlDbType.Image, Buffer.Length)).Value = Buffer
Command1.ExecuteNonQuery()




به کدی که ستاره دار هست و رنگش قرمز هست توجه کنید من چون در فرم خودم یک pictureboxگزاشتم وعکسی رو که می خوام داخل بانگ ذخیره کنم داخل اون هست اون کد رو نوشم
شما اگه آدرس خاصی هم داشتید می تونید بزارید مثل:





Dim Buffer() = ReadImage("c:\pic.jpg")




ببخشید اگه کم هست...