получение и выдача в HttpResponse PDF из базы данных mssql server сохранённого в виде Binary Large Object (Blob)

C Sharp > получение и выдача в HttpResponse PDF из базы данных mssql server сохранённого в виде Binary Large Object (Blob)
30.01.2018 17:40:53


Наиболее часто встречающиеся слова в статье:

[response] [sqlConnection] [sqlDataReader] [connectionstring] [SqlConnection] [SqlCommand] [sqlCommand] ["application/pdf"] [protected] [Page_Load]


Статья:

       protected void Page_Load(object sender, EventArgs e)
        {
            string ID = Request.QueryString["recordID"];
            //  --- получение  и сохранение PDF архивного файла-
            string connectionstring = "Data Source=i7.iocsha;User ID=пользователь;Password=пароль";
 
            using (SqlConnection sqlConnection = new SqlConnection(connectionstring))
            {
                SqlCommand sqlCommand = new SqlCommand("use home; SELECT scan FROM archiv WHERE id = " + ID, sqlConnection);
                sqlConnection.Open();
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                if (sqlDataReader.HasRows)
                {
 
                    foreach (DbDataRecord record in sqlDataReader)
                    {
                        try
                        {
                            HttpResponse response = HttpContext.Current.Response;
                            //ContentType = "image/jpeg";"application/pdf"
                            response.ContentType = "application/pdf";
                            response.ClearContent();
                            response.OutputStream.Write((byte[])record["scan"], 0, ((byte[])record["scan"]).Length);
                            response.End();
                            response.Flush();
                        }
                        catch
                        {
 
                        }
                        finally
                        {
 
                        }
                    }
 
                }
                sqlConnection.Close();
 
            }
 
        }