62,046
社区成员
发帖
与我相关
我的任务
分享
//获取资源的编号
string id = Request["id"].ToString();
NRBLL.File bf = new Asiastar.NRBLL.File();
Guid guid = new Guid(id);
//获取资源完整路径
string filepath = bf.FN_SerchPathByFileId(guid).Tables[0].Rows[0]["FilePath"].ToString();
//文件名称
string filename = bf.FN_SerchPathByFileId(guid).Tables[0].Rows[0]["FileNam"].ToString();
filepath = Server.UrlDecode(filepath);
filename = Server.UrlDecode(filename);
//FileInfo fileinfo = new FileInfo(filepath);
////string filename = System.IO.Path.GetFileName(fileinfo.FullName);
try
{
//string fileName = HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(filename));
//filename = filename.Replace("+", "%20"); //将“+”替换成“空格”
// 以字符流的形式下载文件
FileStream fs = new FileStream(filepath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = Encoding.GetEncoding("gb2312");
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
catch (Exception exe)
{
Response.Write(exe.ToString());
}
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
string stringExportString = Slife.WebUtility.Utils.GetExportString(this.TableDate);
Response.Output.Write(stringExportString);
Response.End();