Un amigo me preguntó cómo escribir el cuadro de mensaje emergente para la descarga. Los detalles son los siguientes:
El cuadro de mensaje
string strFile="F:\a.doc";//La ruta depende de la situación real.
if(!System.IO.File.Exists(strFile))
{
Response.Write("<script language='javascript'>alert('¡Lo sentimos, el archivo no existe!');</script>");
devolver;
}
Respuesta.Clear();
Respuesta.ClearHeaders();
Respuesta.Charset = "GB2312";
Respuesta.ContentEncoding =System.Text.Encoding.UTF8;
Response.ContentType = "aplicación/flujo de octeto";
FileInfo fi=new FileInfo(strFile);
Response.AddHeader("Content-Disposition","attachment; filename=" + HttpUtility.UrlEncode(fi.Name));
Response.AddHeader("Contenido-Longitud",fi.Length.ToString());
byte[] tmpbyte=nuevo byte[1024*8];
FileStream fs=fi.OpenRead();
recuento int;
while((count=fs.Read(tmpbyte,0,tmpbyte.Length))>0)
{
Respuesta.BinaryWrite(tmpbyte);
Respuesta.Flush();
}
fs.Cerrar();
Response.End();
Abrir directamente en el navegador
string strFile="F:\a.doc";//La ruta depende de la situación real
Respuesta.Clear();
Respuesta.ClearHeaders();
Respuesta.Charset = "GB2312";
Respuesta.ContentEncoding =System.Text.Encoding.UTF8;
Response.ContentType = "aplicación/msword";
);