j'ai des images conservé dans un blob. Le probleme est que ca peut prendre 2 minutes avant que l'image s'affiche.
je récupère l'image de la facon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
public byte[] GetByteImage(string commande)
        {
if (!string.IsNullOrEmpty(commande))
            {
                MySql.Data.MySqlClient.MySqlConnection con;
                con = new MySql.Data.MySqlClient.MySqlConnection();
                MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand();
 
                con.ConnectionString = ConnectionString;// "database=" + BdName + ";Data Source=" + IpAdress + ";User Id=" + UserName + ";Password=" + UserPwd;
                con.Open();
                cmd.Connection = con;
                MySql.Data.MySqlClient.MySqlDataReader reader = null;
                DataSet DSimg = new DataSet();
                cmd.CommandText = commande;
                //cmd.CommandText = "select img from image where idimg = '" + image + "'";
 
                reader = cmd.ExecuteReader();
                reader.Read();
                byte[] btMnImage = (byte[])reader.GetValue(0);
                reader.Close();
                return btMnImage;
            }
            else
            {
                return null;
            }
}

j'ai une page qui contient un objet image dans lequel je met la source a une seconde page avec se code dans le page_load

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 if (Request.QueryString["idImage"] != null)
            {
                string idImage=  Request.QueryString["idImage"].ToString();
                commande= string.Format(commande,idImage);
                Byte[] bytes = myBusiness.GetByteImage(commande);
 
                Response.Buffer = true;
 
                Response.Charset = "";
 
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
 
                Response.ContentType = "image/jpeg";
 
                Response.AddHeader("content-disposition", "attachment;filename=Image");
 
                Response.BinaryWrite(bytes);
 
                Response.Flush();
 
                Response.End();                
 
           }
il semble que c'est cette ligne de code qui est lente
reader = cmd.ExecuteReader();
est-ce qu'il aurait un autre moyen de récupérer les images.
j'utilise cette meme partie de code dans des winforms et c'est beacoup plus rapide, il a tu une raison pourquoi qu'en asp.net c'est aussi lent.

merci