Download de um documento do BD para o computador
12/08/2014
0
Olá pessoal.
Estou fazendo um código em C# que faz upload de documentos para o BD e dps faz o download deses documentos para o computador.
Porém, ao invés de escolher fazer download pelo número do ID, teria como mostrar a lista de documentos do BD e clicando em um desses documentos, fazer o download?
Estou fazendo um código em C# que faz upload de documentos para o BD e dps faz o download deses documentos para o computador.
Porém, ao invés de escolher fazer download pelo número do ID, teria como mostrar a lista de documentos do BD e clicando em um desses documentos, fazer o download?
protected void btnUpload_Click(object sender, EventArgs e) { //Verifica se algum arquivo foi selecionado if (upload.HasFile) { //Instancia a conexão com banco,capturando a string de conexão no web.config using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString())) { conn.Open(); string comandoSQL = "insert into TB_Documento(NomeDocumento,Documento) values(@NomeDocumento,@Documento)"; using (SqlCommand cmd = new SqlCommand(comandoSQL, conn)) { //Parâmetros cmd.Parameters.Add("@NomeDocumento", SqlDbType.NVarChar, 100).Value = upload.FileName; cmd.Parameters.Add("@Documento", SqlDbType.VarBinary).Value = upload.FileBytes; //executa a inserção cmd.ExecuteNonQuery(); } } } } protected void btnDownload_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()); conn.Open(); SqlCommand oSqlCommand = new SqlCommand(); oSqlCommand.Connection = conn; oSqlCommand.CommandText = "SELECT Documento FROM TB_Documento Where CodDocumento = 1;"; oSqlCommand.CommandType = CommandType.Text; SqlDataReader oSqlDataReader = oSqlCommand.ExecuteReader(); byte[] buffer = null; if (oSqlDataReader.Read()) { buffer = (byte[])oSqlDataReader.GetValue(0); } conn.Close(); StreamWriter oStreamWriter = new StreamWriter(@"C:\Users\thais.nogueira\Documents\Visual Studio 2012\Projects\Upload\Copy_file.pdf"); oStreamWriter.BaseStream.Write(buffer, 0, buffer.Length); oStreamWriter.Close(); oStreamWriter.Dispose(); }
Thaís Nogueira
Curtir tópico
+ 0
Responder
Post mais votado
15/08/2014
Perfeitamente, você pode fazer um select, trazendo o nome e o código do documento e listá-lo em um grid, por exemplo. Quando o usuário selecionar uma linha, você terá acesso também ao código do registro selecionado, então é só efetuar o mesmo procedimento.
Joel Rodrigues
Responder
Clique aqui para fazer login e interagir na Comunidade :)