브라우저에 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의 답변)은 IIS 컨텍스트 사용자가 웹 서버에서 액세스 할 수있는 모든 곳에서 컨텐트를 가져올 수 있으므로 잠재적으로 더 많이 보호 할 수 있습니다. (네, 나는 실형 선고의 왕입니다.) –
좋은 조언. HTTP 모듈을 사용하지 않도록 요청을 리디렉션합니다. – user81740