none
Download de arquivos do banco PostgreSQL em C# RRS feed

  • Question

  • Olá, tenho uma aplicação que gera um arquivo de backup do tipo (.backup), eu salvo esse arquivo em outro banco de dados que está na nuvem. A questão é que não consigo fazer o download desse arquivo e salva-lo em qualquer pasta do meu computador.

    Uso o seguinte código para salvar o arquivo no banco.

    private void Button1_Click(object sender, EventArgs e)
            {
                try
                {
                    var arquivo = EscolherArquivo();

                    if(!string.IsNullOrWhiteSpace(arquivo))
                    {
                        SalvarArquivo(arquivo);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

            private string EscolherArquivo()
            {
                var retorno = string.Empty;

                using (var dialog = new OpenFileDialog())
                {
                    if(dialog.ShowDialog() == DialogResult.OK)
                    {
                        retorno = dialog.FileName;
                    }
                }

                return retorno;
            }

            private void SalvarArquivo(string arquivo)
            {
                using (var conn = AbrirConexao())
                {
                    conn.Open();
                    using (var comm = conn.CreateCommand())
                    {
                        comm.CommandText = "INSERT INTO Arquivo (nomeArquivo, arquivo) VALUES (@nomeArquivo, @arquivo)";
                        ConfigurarParametrosSalvar(comm, arquivo);
                        comm.ExecuteNonQuery();
                        CarregarGrid();
                    }
                }
            }

            private void ConfigurarParametrosSalvar(IDbCommand comm, string arquivo)
            {
                comm.Parameters.Add(new NpgsqlParameter("nomeArquivo", Path.GetFileName(arquivo)));
                comm.Parameters.Add(new NpgsqlParameter("Arquivo", File.ReadAllBytes(arquivo)));
            }

    Monday, July 19, 2021 9:15 PM