
/**//// <summary>
/// 下載文件
/// </summary>
/// <param name="filepath"></param>
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&nb

...{
//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.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.End();
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
}
else
...{
SetGlobalMessageID(FindKeyValueCutNull(GXML.COMMONMESSAGE, GXML.DOWNLOAD_FILE_NOEXIST));
}
//Call response.BinaryWrite(objFileIO.IFileByte(filepath))
}