public static void DownloadFile(string filepath)
{
string strContentType = "";
string strFileName = "";
string strFilePath = "";
int intIndex1 = -1;
int intIndex2 = -1;
int intIndex = 0;
if (filepath.EndsWith(".doc"))
{
strContentType = "application/msword";
}
else if (filepath.EndsWith(".xls"))
{
//strContentType = "application/x-zaurus-xls"
strContentType = "application/vnd.ms-excel";
}
else if (filepath.EndsWith(".pdf"))
{
strContentType = "application/pdf";
}
else if (filepath.EndsWith(".ppt"))
{
//strContentType = "application/powerpoint"
strContentType = "application/vnd.ms-powerpoint";
}
else if (filepath.EndsWith(".jpg") || filepath.EndsWith(".jpeg") || filepath.EndsWith(".jpe"))
{
strContentType = "image/jpeg";
}
else if (filepath.EndsWith(".bmp"))
{
strContentType = "image/bmp";
}
else if (filepath.EndsWith(".gif"))
{
strContentType = "image/gif";
}
else if (filepath.EndsWith(".zip"))
{
strContentType = "application/zip";
}
else if (filepath.EndsWith(".txt"))
{
strContentType = "text/plain";
}
else
{
strContentType = "application/octet-stream";
}
intIndex1 = filepath.LastIndexOf("/");
intIndex2 = filepath.LastIndexOf("//");
if (intIndex1 > intIndex2)
{
intIndex = intIndex1;
}
else
{
intIndex = intIndex2;
}
if (intIndex > -1)
{
if (intIndex + 1 < filepath.Length)
strFileName = filepath.Substring(intIndex + 1);
}
else
{
strFileName = filepath;
}
if (filepath.StartsWith("/") || filepath.StartsWith("//"))
strFilePath = HttpContext.Current.Server.MapPath("/") + filepath;
else
strFilePath = filepath;
if (FileUtil.isFileExist(strFilePath))
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = strContentType;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strFileName));
HttpContext.Current.Response.WriteFile(strFilePath);
//HttpContext.Current.Response.BinaryWrite(objFileIO.IFileByte(strFilePath));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
}
else
{
SetGlobalMessageID(FindKeyValueCutNull(GXML.COMMONMESSAGE, GMSG.MSG904));
}
}