• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bioshock

Upar/Guardar Ficheiro VB2008

8 mensagens neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora