Jump to content

[Resolvido] Ler Imagens PDF gravadas no banco de dados SQL Server


brunodopredio

Recommended Posts

Boas,

Estou com um problema, salvo um arquivo PDF no banco em um campo de tipo IMAGE, depois de transformá-lo em byte[].

  //Prepara o arquivo para salvar em BD
           FileStream fs = new FileStream(desenho.ArquivoCaminho, FileMode.Open, FileAccess.Read);
           BinaryReader br = new BinaryReader(fs);
           byte[] Arquivo = br.ReadBytes((int)fs.Length);
           br.Close();
           fs.Close();


           //Conexão e comando de inserção.
           SqlConnection cn = new SqlConnection(Configuracao.ConexaoCE_NOVO);
           SqlCommand cmd = new SqlCommand();
           cmd.Connection = cn;
           cmd.CommandText = @"Insert into Desenhos(CodigoDesenho,
                                                    CodCli,
                                                    Projeto,
                                                    Revisao,
                                                    DataCadastro,
                                                    DataElaboracao,
                                                    DataRevisao,
                                                    Descricao,
                                                    Status,
                                                    Arquivo)
                                             Values(@CodigoDesenho,
                                                    @CodCli,
                                                    @Projeto,
                                                    @Revisao,
                                                    @DataCadastro,
                                                    @DataElaboracao,
                                                    @DataRevisao,
                                                    @Descricao,
                                                    @Status,
                                                    @Arquivo)";

           cmd.Parameters.AddWithValue("@CodigoDesenho", desenho.CodDesenho);
           cmd.Parameters.AddWithValue("@CodCli", cliente.CardCode);
           cmd.Parameters.AddWithValue("@Projeto", desenho.Projeto);
           cmd.Parameters.AddWithValue("@Revisao", desenho.Revisao);
           cmd.Parameters.AddWithValue("@DataCadastro", desenho.DataCadastro);
           cmd.Parameters.AddWithValue("@DataElaboracao", desenho.DataElaboracao);
           cmd.Parameters.AddWithValue("@DataRevisao", desenho.DataRevisao);
           cmd.Parameters.AddWithValue("@descricao", desenho.Descricao);
           cmd.Parameters.AddWithValue("@Status", desenho.Status);
           cmd.Parameters.AddWithValue("@Arquivo",Arquivo);

           cn.Open();
           cmd.ExecuteNonQuery();
           cn.Close();
       }

só que um problema

Como abrir este arquivo novamente através de um select, eu só vi trazendo os dados e jogando a imagem em um picture box, mas a imagem fica pequena, será que consigo abrir como pdf ou de outro modo, não encontro nada referente a isso.

Obrigado desde já.

Link to comment
Share on other sites

using System.IO;
using System.Diagnostics;


FileStream Fs = new FileStream(@"C:\Pfd.pfd", FileMode.Create);
Fs.Write(ImagemDaBD, 0, ImagemDaBD.Length);
Process.Start(@"C:\Pdf.pdf");

Sim me foi util! mto obrigado!

Eu fiz criando arquivo temporário

DesenhosBLL obj = new DesenhosBLL();

string file = Path.GetTempFileName() + ".PDF";

File.WriteAllBytes(file, obj.VisualizarDesenhos(3));

var process = System.Diagnostics.Process.Start(file);

//File.Delete(file);

Obrigado!!

Link to comment
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.