Bonjour,

J'ai un GridView qui contient des ImageButton, lors du clique sur un de ces bouton je veux proposer le téléchargement d'un fichier (je ne connais pas le format du fichier).

Mon fichier est stocké en base dans un champs varbinary(MAX) de cette manière :

Lors du clic sur le bouton de ma GridView je fais appel à cette méthode :
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
 
 
    private void ShowTheFile(string FileID)
    {
        ParameterCollection pcFile = new ParameterCollection();
        pcFile.Add("idfile", FileID);
        DataTable tableFichier = BLMWebTools.SelectAppQuery("SELECT * FROM PieceJointeDoc WHERE fileId=@idfile", pcFile);
 
        if (tableFichier.Rows.Count>0)
        {
            Response.Clear();
            Response.ContentType = tableFichier.Rows[0]["contentType"].ToString();
            Response.OutputStream.Write((byte[])tableFichier.Rows[0]["fichier"], 0, Convert.ToInt32(tableFichier.Rows[0]["length"]));
            //Response.BinaryWrite();
            Response.End();
        }
    }
Ce que j'aimerais c'est que cette méthode me propose le téléchargement du fichier stocké en base quelque soit le type de fichier.

(Actuellement elle fonctionne très bien mais ne me propose pas de téléchargement et m'affiche directement le fichier, ce qui est assez logique vu mon code)