Un ami m'a demandé comment écrire la boîte de dialogue contextuelle pour le téléchargement. Les détails sont les suivants :
La
chaîne de la boîte de dialogue strFile="F:\a.doc";//Le chemin dépend de la situation réelle.
si(!System.IO.File.Exists(strFile))
{
Response.Write("");
retour;
}
Réponse.Clear();
Réponse.ClearHeaders();
Réponse.Charset = "GB2312" ;
Réponse.ContentEncoding =System.Text.Encoding.UTF8;
Response.ContentType = "application/octet-stream" ;
FileInfo fi=nouveau FileInfo(strFile);
Response.AddHeader("Content-Disposition","attachment; filename=" + HttpUtility.UrlEncode(fi.Name));
Response.AddHeader("Content-Length",fi.Length.ToString());
octet[] tmpbyte=nouvel octet[1024*8];
FileStream fs=fi.OpenRead();
nombre entier ;
while((count=fs.Read(tmpbyte,0,tmpbyte.Length))>0)
{
Réponse.BinaryWrite(tmpbyte);
Réponse.Flush();
}
fs.Close();
Response.End();
Ouvrir directement dans le navigateur
string strFile="F:\a.doc";//Le chemin dépend de la situation réelle
Réponse.Clear();
Réponse.ClearHeaders();
Réponse.Charset = "GB2312" ;
Réponse.ContentEncoding =System.Text.Encoding.UTF8;
Response.ContentType = "application/msword";
Réponse.WriteFile(strFile);
http://www.cnblogs.com/skylaugh/archive/2006/12/18/596074.html