我遇到了将PDF文件写入浏览器的问题。其他MIME类型工作正常。 PDF文件被损坏。Response.WriteFile PDF文件 - 损坏的文件
FileInfo file = new FileInfo(Path.Combine(_module.FileDir, _file.FilePath));
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = _file.ContentType;
Response.AppendHeader("Content-Disposition", "attachment; filename=" + Regex.Replace(_file.FilePath, "\\s", "-"));
Response.AppendHeader("Content-Length", file.Length.ToString());
try
{
Response.WriteFile(file.FullName);
Response.Flush();
Response.Close();
}
catch
{
Response.ClearContent();
}
我假设OP不希望有直接下载的内容,可能是通过某种认证机制或其他方式。 Response.Redirect会公开URL,而OP的技术(和我的回复中的Microsoft)将允许内容来自用户可以在Web服务器上访问的IIS上下文的任何位置,从而有可能更好地保护它。 (是的,我是磨合判罚之王。) – 2009-04-20 21:17:36
很好的建议。我将重定向请求以避免HTTP模块启动 – user81740 2009-04-20 21:27:49