Jump to content
bioshock

Upar/Guardar Ficheiro VB2008

Recommended Posts

bioshock

Boas, é o seguinte:

Eu gostava de saber se é possivel eu Upar um ficheiro, do tipo PDF ou DOC, para a minha Base de Dados e depois Guardar esse ficheiro noutro computador.

Eu já consegui fazer com as Imagens, ou seja, Upo uma Imagem..vou a outro computador e consigo guardar a imagem nesse computador.

Na base de dados está como Objecto OLE (A imagem) o campo "Ficheiro" também tem de ser Objecto OLE ou pode ser Texto?

Se for preciso posso deixar aqui o código para Upar e Guardar Imagem.

Cumprimentos e obrigado.

Share this post


Link to post
Share on other sites
ribeiro55

Terás de utilizar um campo do género "binary large object".

Como "desagregas" e "agregas" o binário em ambos os lados, podes passar para a base de dados virtualmente qualquer ficheiro.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
bioshock

Terás de utilizar um campo do género "binary large object".

Como "desagregas" e "agregas" o binário em ambos os lados, podes passar para a base de dados virtualmente qualquer ficheiro.

Binary Large Object?  Isso é no access? (Estás-te a referir ao Objecto OLE ?) :s

É que se for, o código do ficheiro deve ser relativamente igual ao que utilizei para a imagem, acho eu.

Obrigado.

Share this post


Link to post
Share on other sites
bioshock

Utilizo os seguintes códigos para Upar/Guardar imagem e funciona perfeitamente:

OpenFileDialog1.InitialDirectory = "c:\"
        OpenFileDialog1.Filter = "Jpeg (*.Jpeg)|*.Jpeg|Png (*.Png)|*.Png|Tif (*.Tif)|*.Tif|Bmp (*.Bmp)|*.Bmp"
        OpenFileDialog1.FilterIndex = 2
        OpenFileDialog1.RestoreDirectory = True

        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

            FotoPictureBox.Image = Image.FromFile(OpenFileDialog1.FileName)

        End If

        Dim SAVEDIALOG As New SaveFileDialog()

        With SAVEDIALOG

            .Title = "Guardar Imagem"
            .Filter = "Jpeg (*.Jpeg)|*.Jpeg|Png (*.Png)|*.Png|Tiff (*.Tiff)|*.Tiff|Bmp (*.Bmp)|*.Bmp"

        End With

        If SAVEDIALOG.ShowDialog = Windows.Forms.DialogResult.OK Then

            Select Case SAVEDIALOG.FilterIndex

                'Because the base for FilterIndex is 1 not 0
                Case 1
                    Me.FotoPictureBox.Image.Save(SAVEDIALOG.FileName, Imaging.ImageFormat.Jpeg)

                Case 2
                    Me.FotoPictureBox.Image.Save(SAVEDIALOG.FileName, Imaging.ImageFormat.Gif)

                Case 3
                    Me.FotoPictureBox.Image.Save(SAVEDIALOG.FileName, Imaging.ImageFormat.Bmp)

                Case 4
                    Me.FotoPictureBox.Image.Save(SAVEDIALOG.FileName, Imaging.ImageFormat.Png)

                Case 5
                    Me.FotoPictureBox.Image.Save(SAVEDIALOG.FileName, Imaging.ImageFormat.Tiff)
            End Select
        End If
    End Sub

Share this post


Link to post
Share on other sites
bioshock

Bem, tentei fazer algo do género, contudo, ele Carrega bem o nome do ficheiro para a Textbox e guarda na Base de Dados. Depois quando o guardo no computador, ele grava mas não o consigo abrir, dá um erro a dizer que o ficheiro está danificado ou algo do género:

Upar:

  OpenFileDialog1.Title = "Selecciona o Ficheiro"
        OpenFileDialog1.InitialDirectory = "C:temp"
        OpenFileDialog1.Filter = "PDF (*.PDF)|*.PDF"
        OpenFileDialog1.FilterIndex = 2
        OpenFileDialog1.ShowDialog()
        Dim strm As System.IO.Stream
        strm = OpenFileDialog1.OpenFile()
        ReferenciaTextBox.Text = OpenFileDialog1.FileName.ToString()
        If Not (strm Is Nothing) Then
            'insert code to read the file data
            strm.Close()
        End If

Guardar:

Dim myStream As Stream
        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "PDF (*.PDF)|*.PDF"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            myStream = saveFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Code to write the stream goes here.
                myStream.Close()
            End If
        End If

Share this post


Link to post
Share on other sites
bioshock

Não, isso eu sei, criar ficheiro PDF.

Eu quero é guardar o que ficheiro PDF que fiz INPUT na BD, para um computador qualquer.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.