Imports System.Data.SqlClient
Imports System.IO
Public Class Form1
Dim dosya As OpenFileDialog = New OpenFileDialog()
Private Sub btnAc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAc.Click
dosya.InitialDirectory = "C:\"
dosya.Title = "Resim Seç"
dosya.FilterIndex = 1
dosya.Filter = ("Jpeg Resim Dosyası (*.jpg)|*.jpg|Gif Resim Dosyası (*.gif)|*.gif|Bmp Resim Dosyası(*.bmp)|*.bmp|Tüm Dosyalar(*.*)|*.*")
If dosya.ShowDialog() = DialogResult.OK Then
Dim ad As String = ""
ad = dosya.FileName
'Resimi pictureboxta gösterimini sağlıyoruz
pbox1.Image = Image.FromFile(ad)
pbox1.SizeMode = PictureBoxSizeMode.StretchImage
Label1.Text = dosya.SafeFileName
End If
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim str As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\image.mdf;Integrated Security=True;User Instance=True"
Dim baglan As SqlConnection
baglan = New SqlConnection(str)
Dim dosyaAdi As String
'resimin bulunduğu yeri tanımlıyoruz.
dosyaAdi = dosya.FileName
If File.Exists(dosyaAdi) Then
Dim id As Integer = 1
'resimi byte cinsinden okutup içeriğini alıyoruz.
Dim icerik As Byte() = ImageToStream(dosyaAdi)
baglan.Open()
'resimimizin veritabanına girişini yapıyoruz.
Dim komut As New SqlCommand("insert into images (id,resim) values ( @id,@resim)", baglan)
komut.Parameters.AddWithValue("@id", id)
komut.Parameters.AddWithValue("@resim", icerik)
komut.ExecuteNonQuery()
baglan.Close()
MsgBox("Girilen resim veritabanına başarıyla kaydedildi.")
Else
MsgBox(dosyaAdi & " bulunamadı! ")
End If
End Sub
Private Function ImageToStream(ByVal fileName As String) As Byte()
'memorystream ile tampon bellek oluşturuyoruz.
Dim ms As New MemoryStream()
git:
Try
Dim image As New Bitmap(fileName)
'resim dosyasını kaydediyoruz.
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
Catch ex As Exception
GoTo git
End Try
Return ms.ToArray()
End Function
End Class
0 comments:
Yorum Gönder