我遇到了將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