Nommer le fichier PDF avec un Response.BinaryWrite() c#
Bonjour, j'ai besoin d'aide,
J'ai une page aspx qui écrit un tableau de byte[] dans la page HTML, le tableau représente un fichier PDF. Le nom de la page qui fait cela s'appelle logout.aspx?param1=xx¶m2=xx
Mon probléme est le suivant: Acrobat Reader ouvre correctement le PDF dans ie, le problème est que si l'utilisateur souhaite sauver le fichier grâce au bouton d'Acrobat Reader le nom par défaut du fichier à sauvegarder est le nom de la page suivie de l'extension 'pdf' => logout.pdf
Comment faire pour piloter ce nom par défaut si la personne souhaite enregistrer le fichier sur son disque dur.
Voici le code utilisé:
Code:
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 29
|
myConn = new SqlConnection(strCnx);
myConn.Open();
myCmd = new SqlCommand("SELECT FileData, FileType, FileSize FROM ItemFile where (ItemId = @ItemId) AND (FileId = @FileId)", myConn);
myCmd.CommandType = CommandType.Text;
myCmd.Parameters.AddWithValue("@ItemId", ReqItemId);
myCmd.Parameters.AddWithValue("@FileId", ReqFileId);
myReader = myCmd.ExecuteReader();
myReader.Read();
if (!myReader.IsDBNull(0)) // Vérifie que la colonne FileData n'est pas vide
{
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = myReader["FileType"].ToString(); // Set the ContentType of the file
// Pour proposer le fichier en téléchargement uniquement
// Response.AddHeader("Content-Disposition", "attachment; filename=" + "[nomfichier.extension]");
Response.AddHeader("Content-Disposition", "inline;");
Response.BinaryWrite((byte[])(myReader["FileData"]));
Response.Flush();
Response.End();
}
else
lblInfo.Text = ("Aucun fichier trouvé"); |