2
public void Downloadfile(string sFileName, string sFilePath)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "APPLICATION/OCTET-STREAM";
String Header = "Attachment; Filename=" + sFileName;
HttpContext.Current.Response.AppendHeader("Content-Disposition", Header);
HttpContext.Current.Response.AppendHeader("Cache-Control", "no-cache");
System.IO.FileInfo Dfile = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(sFilePath));
HttpContext.Current.Response.TransmitFile(Dfile.FullName);
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
다운로드 버튼이 있는데, 클릭하면 해당 파일 다운로드가 나옵니다. 그러나 파일 반환은 detailt.aspx입니다. 파일. 나는 무슨 일이 일어나고 있는지 이해하지 못한다. 도움이 필요합니다. 고마워요.ASP.net 다운로드 파일 ASP.NET에서 HttpContext.Current.Response.TransmitFile을 사용합니다.
감사합니다. David Negron reply. 그러나 Response.End()를 사용할 때 예외 : 예외 = {코드가 최적화되었거나 기본 프레임이 호출 스택 위에 있기 때문에 표현식을 평가할 수 없습니다.} 버그를 이해하지 못합니다. 설명해 주시겠습니까? – user2828601
Downloadfile이 호출 된 후 어떤 추가 코드를 실행하려고 시도하고 계십니까? 내가 물어 보는 이유는 일반적으로 HttpHandler 내에서이 유형의 코드를 호출하기 때문입니다. 이에 대한 예를 보려면 http://geekswithblogs.net/hmloo/archive/2012/03/07/how-to-download-files-using-a-generic-handler.aspx를 참조하십시오. –