본문 바로가기
VB.net

mssql에 연결하여 이진수로 되어있는 파일 열기 및 파일 다운로드 하기

by 호야호잇 2018. 5. 24.

#Region "파일 열기 및 파일 다운로드 하기"


    Private Sub 파일열기ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 파일열기ToolStripMenuItem.Click


        Dim DBConn As SqlConnection

        DBConn = New SqlConnection(dbstring)

        DBConn.Open()

        Dim mySqlCommAND As SqlCommand

        Dim QueryString As String


        ' 파일 읽기

        Dim 파일명 As String = ""


        ' Parameter 생성 및 값 대입

        Dim myParameter As New SqlParameter("@Img", SqlDbType.Image)

        QueryString = "SELECT TOP 1 분류1, 분류2, 파일명, 이미지, 예비1 FROM " & 테이블명 & "  WHERE 분류2 = '" & Label8.Text & "'"

        mySqlCommAND = New SqlCommand(QueryString, DBConn)

        ' Query 실행 및 DB Read

        Dim DBread As SqlDataReader = mySqlCommAND.ExecuteReader()


        If DBread.Read() Then

            ' SaveFileDialog1.FileName = DBread.GetValue(0)

            파일명 = DBread.GetValue(2)

            Label9.Text = 파일명

            Dim Buffer() As Byte = DBread.GetValue(3)

            Dim 파일경로 As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.InternetCache) & "\Content.IE5\"


            Try

                Kill(파일경로 & 파일명)

            Catch ex As Exception

            End Try

            My.Computer.FileSystem.WriteAllBytes(파일경로 & 파일명, Buffer, True)

            My.Computer.FileSystem.ReadAllBytes(파일경로 & 파일명)

            System.Diagnostics.Process.Start(파일경로 & 파일명)

        End If


        DBread.Close()

        mySqlCommAND.Dispose()

        DBConn.Close()


    End Sub


    Private Sub 다운로드ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 다운로드ToolStripMenuItem.Click


        Dim DBConn As SqlConnection

        DBConn = New SqlConnection(dbstring)

        DBConn.Open()

        Dim mySqlCommAND As SqlCommand

        Dim QueryString As String


        ' 파일 읽기

        Dim 파일명 As String = Label9.Text


        ' Parameter 생성 및 값 대입

        Dim myParameter As New SqlParameter("@Img", SqlDbType.Image)

        QueryString = "SELECT TOP 1 분류1, 분류2, 파일명, 이미지, 예비1 FROM " & 테이블명 & "  WHERE 분류2 = '" & Label8.Text & "'"

        mySqlCommAND = New SqlCommand(QueryString, DBConn)

        ' Query 실행 및 DB Read

        Dim DBread As SqlDataReader = mySqlCommAND.ExecuteReader()

        If DBread.Read() Then

            SaveFileDialog1.FileName = DBread.GetValue(2)

            Dim Buffer() As Byte = DBread.GetValue(3)


            If SaveFileDialog1.ShowDialog() = DialogResult.OK Then


                My.Computer.FileSystem.WriteAllBytes(SaveFileDialog1.FileName, Buffer, True)

                My.Computer.FileSystem.ReadAllBytes(SaveFileDialog1.FileName)

            End If


        End If


        DBread.Close()

        mySqlCommAND.Dispose()

        DBConn.Close()


    End Sub


    '전문부서 파일 열기/다운로드

    Private Sub PictureBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseClick

        'label로 전문부서 or 유선부서 구분지음

        Label8.Text = "전문부서"


        Download_Menu.Show(MousePosition)


    End Sub


    '유선부서(TWD) 파일 열기/다운로드

    Private Sub PictureBox2_MouseClick(sender As Object, e As MouseEventArgs) Handles PictureBox2.MouseClick

        'label로 전문부서 or 유선부서 구분지음

        Label8.Text = "유무선 (TWD)"


        Download_Menu.Show(MousePosition)

    End Sub


#End Region