none
Como guardar un archivo .PDF en una MySQL con Visual.Net

    Pregunta

  • Buenos días;

    Estoy trabajando en un proyecto con Visual .Net pero necesito guardar un archivo .PDF en una base de datos de MySQL .

    Lo único que he logrado es visualizar el PDF este es el código que tengo:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles Button1.Click 
            OpenFileDialog2.Filter = "PDF files |*.pdf"
            OpenFileDialog2.InitialDirectory = "C:\Users\ROCIO\Desktop\Archivos"
            OpenFileDialog2.RestoreDirectory = True
            If OpenFileDialog2.ShowDialog = Windows.Forms.DialogResult.OK Then
                AxAcroPDF1.src = OpenFileDialog2.FileName
            End If
        End Sub

    Quisiera guardar en la base el archivo que se muestra en el " AxAcroPDF1.src" para después realizar una búsqueda y que se vuelva a mostrar el archivo pero el que ya este guardado en la base de datos.

    Les agradecería me puedan ayudar.


    jueves, 2 de febrero de 2017 14:06

Respuestas

Todas las respuestas

  • Hola Rocío una consulta que tipo de objeto o control es AxAcroPDF1 y su propiedad src es un desarrollo en winforms me imagino.

    Con este código podrías registrar un pdf en mysql

     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            OpenFileDialog1.Filter = "PDF files |*.pdf"
            OpenFileDialog1.InitialDirectory = "C:"
            OpenFileDialog1.RestoreDirectory = True
            If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                Dim ruta As String = OpenFileDialog1.FileName
                Dim data As Byte()
                data = ImagenaBytes(ruta)
                RegistraEmpleado(data)
            End If
        End Sub
    
        Private Function ImagenaBytes(ByVal filename As String) As Byte()
            Dim file As Byte()
            file = System.IO.File.ReadAllBytes(filename)
            Dim ms As New MemoryStream(file)
            Dim readerBinario As System.IO.BinaryReader = New BinaryReader(ms)
            Dim bytes As Byte() = readerBinario.ReadBytes(ms.Length)
            Return bytes
        End Function
    
        Sub RegistraEmpleado(ByVal imagen As Byte())
            Dim cnx As New MySqlConnection(ConfigurationManager.ConnectionStrings("mysql").ToString())
            cnx.Open()
            ' Dim cmd As New MySqlCommand("insert into imagenes(imagen) values (?)", cnx)
            Dim cmd As New MySqlCommand("inserta_imagenes", cnx)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("imagen", imagen) 'imagen es el nombre del parámetro del procedure
            'cmd.Parameters.AddWithValue("?", imagen)
            cmd.ExecuteNonQuery()
        End Sub

    Podrías detallar un poco mas de la búsqueda es decir en que control quisieras mostrar la imagen picturebox,datagridview 

    Quedo a la espera de tus comentarios, saludos.


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.




    • Editado Augusto1982 viernes, 3 de febrero de 2017 2:06
    jueves, 2 de febrero de 2017 19:59
  • Buenos dias;

    AxAcroPDF es un activex  de acrobat reader

    el objetivo es guardarlo y volver visualizarlo como pdf.

    interfaz


    viernes, 3 de febrero de 2017 13:56
  • Hola.

    "AxAcroPDF es un activex  de acrobat reader

    el objetivo es guardarlo y volver visualizarlo como pdf."

    El guardar ya lo tienes, desconozco sobre controles Activex , ¿no te vale descargarlo y abrirlo con los programas que abren este tipo de archivos?

    Encontré este hilo en el foro ,ojala te sirva, también utilizando el componente

    https://social.msdn.microsoft.com/Forums/es-ES/de1a6af5-43bb-4279-b0a2-a0ae1d56895f/abrir-un-pdf-en-un-axacropdf-dentro-de-un-form?forum=vbes

    Quedo a la espera de tus comentarios


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.



    viernes, 3 de febrero de 2017 14:08