从以文件流的形式下载文件
以下代码是把服务器的文件从IE连接上下载到本地,此种方式比直接连接指向服务器文件的方式更安全.
string strDocPath = GetFilePath(strPackID, strSuffix, "/ReleaseFile/"); //ReleaseFile指文件所在目录, 需要转换成服务器物理路径.
if (File.Exists(strDocPath))
{
string strContentType = GetContentType(strSuffix);
if (strContentType != string.Empty)
Response.ContentType = strContentType;
Response.Expires = -1;
Response.Buffer = true;
Stream fs = File.Open(strDocPath, FileMode.Open, FileAccess.Read);
BinaryReader Br = new BinaryReader(fs);
byte[] buffer = new byte[fs.Length];
Br.Read(buffer, 0, (int)fs.Length);
//
Response.AppendHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strPackName,Encoding.UTF8));
Response.AppendHeader("content-transfer-encoding", "gb2312");
Response.AppendHeader("Content-Length", buffer.Length.ToString());
Response.BinaryWrite(buffer);
Response.Flush();
fs.Close();
Response.End();
}