사용자가 정규 콘텐츠 (몇 메가 바이트 이하)를 사용하여 Excel 파일을 다운로드 할 수있는 응용 프로그램을 개발 중입니다.IE8 일부 페이지에서 다운로드 파일이 작동하지 않습니다.
IE9에서는 파일이 완벽하게 다운로드되지만 IE8에서는 다운로드를 허용하는 페이지 중 일부가 작동하지 않습니다.
새 페이지는 다운로드 막대를 표시하지 않고 즉시 열리고 닫힙니다.
캐시 제어 헤더가 개인으로 설정됩니다.
모든 IE8 추가 기능이 비활성화되었습니다.
나는 파일을 저장하고 하나가 작동하지 않는 그들이(떨어져 경로에서) 정확히 일치 내가 그나마 알 수 있습니까 페이지 모두에 대한 서버의 응답을 일치 한
왜 어떤 경우에 파일은 완벽하게 다운로드되고 다른 사람에게는 다운로드되지 않습니다. 여기
내가 파일을 다운로드하는 데 사용하는 서버 측 코드 :protected void GetExportedFile()
{
string filename = Form("filename");
if (string.IsNullOrEmpty(filename))
{
Logger.Instance.Write("GetExportedFile is missing the parameter filename");
Response.Redirect("ErrorPage.aspx");
}
string filePath = Context.Server.MapPath("****/****/" + filename);
Response.ClearHeaders();
Response.ClearContent();
SetContentType(ContentType.Excel);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", filename));
Response.WriteFile(filePath);
Response.Flush();
try
{
File.Delete(filePath);
}
catch (Exception ex)
{
Logger.Instance.Write(
"GetExportedFile failed to delete the file '" + filePath +
"', Error: " + ex.ToString(), "Error");
}
try
{
Response.End();
}
catch (ThreadAbortException ex)
{
//Don't add anything here.
//because if you write here in Response.Write,
//that text also will be added to your text file.
}
}
나는이 관련되어 있다고 생각 해달라고하지만, 언급 할 필요를 그 이전에 IE8에서 작동하지 않는 다운로드 나는에 일부 Ajax 호출을 수행하여 엑셀 생성이 완료되었는지 알리는 반면, 작동하는 페이지에서는이 절차를 수행하지 않습니다.
내 응용 프로그램이 응용 프로그램 방화벽 (F5) 뒤에 있으며, 비활성화하면 IE8에서 모든 다운로드가 작동한다고 추가하고 싶습니다. 문제는 응답에 변경 사항이 표시되지 않는 것입니다.
감사합니다.
파일 이름 변수에 파일 확장자가 포함되어 있습니까? –
예 파일 확장명은 xlsx입니다. – AMember