标签:efault cte 信息 chm isp action 错误信息 byte osi
public ActionResult DownLoadAttachment(string attachmentId)
{
Attachment attachment = _customerInfoService.GetAttachment(attachmentId);
if (attachment != null)
{
try
{
string fileName = attachment.FileName;
string filePath = attachment.Path;
string fileType = attachment.FileType;
#region 流方式下载文件
Encoding encoding;
string outputFileName = null;
fileName = fileName.Replace("‘", "");
string browser = Request.UserAgent.ToUpper();
if (browser.Contains("MS") == true && browser.Contains("IE") == true)
{
outputFileName = HttpUtility.UrlEncode(fileName);
encoding = Encoding.Default;
}
else if (browser.Contains("FIREFOX") == true)
{
outputFileName = fileName;
encoding = Encoding.GetEncoding("GB2312");
}
else
{
outputFileName = HttpUtility.UrlEncode(fileName);
encoding = Encoding.Default;
}
FileStream fs = new FileStream(filePath, FileMode.Open);
long length = fs.Length;
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Charset = "UTF-8";
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = encoding;
Response.AddHeader("Content-Disposition", "attachment; filename=" + outputFileName);
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
#endregion
}
catch (Exception ex)
{
return Content(string.Format("附件下载失败!错误信息:{0}", ex.Message));
}
}
else
{
return Content("附件不存在!");
}
}
标签:efault cte 信息 chm isp action 错误信息 byte osi
原文地址:https://www.cnblogs.com/zhangzhang1118/p/11792831.html