asp.net项目发布到IIS后,下载功能失效了。怎么办
附件下载功能,在本机测试好用,发布到服务器IIS后失效。相关代码:
string path = S0201_Logic.GetAttachmentByIncident(type, IncidentId);
if (!string.IsNullOrEmpty(path))
{
string filePath = Server.MapPath(path);//路径
FileInfo DownloadFile= new FileInfo(filePath);
if (DownloadFile.Exists)
{
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + ToHexString(DownloadFile.Name));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
}
数据库中附件地址格式如下:/upload/2012/8/25/啊啊.xlsx
请问各位可能会是什么原因导致下载失效的呢 --------------------编程问答-------------------- 错误提示是什么 --------------------编程问答-------------------- 通常在vs调试环境下能用的下载链接,发布到iis后就失效,这是因为链接地址的问题,请尝试调换链接地址使它变成服务器的地址如E:\server\mm\ 等相对硬盘的地址
而不是相对项目调试的~\sss\sss....... --------------------编程问答-------------------- 应该是iis对盘符的访问权限问题。 --------------------编程问答-------------------- 调试下看看,然后抓包看下 --------------------编程问答-------------------- 应该是下载文件所在文件夹的访问权限问题,设成everyone --------------------编程问答-------------------- 不是权限问题,就是路径问题 --------------------编程问答-------------------- 看看下载文件夹的权限和下载链接路径是否正确 --------------------编程问答-------------------- 路径问题。在本机调试一下。把路径贴出来。 --------------------编程问答-------------------- 查看访问权限。
补充:.NET技术 , ASP.NET