며칠 전 파일 관리의 다운로드 기능이 시스템에 추가되었습니다. 권한을 제어하려면 ASPX 파일에 구현해야 합니다.
따라서 다음 코드를 추가하세요.
...
Response.ContentType = mime; //해당 MIME 유형
Response.AppendHeader("Content-Disposition", "attachment; filename="" +fileName + """)
;
응답.끝();
...
fileName에 중국어 문자가 포함된 경우 파일을 다운로드하고 저장할 때 파일 이름이 깨져서 사용자가 수정해야 하므로 기본 파일 이름을 설정하려는 원래 의도와는 다릅니다.
해결 방법 1: fileName을 URL로 인코딩하고 밑줄 친 문장을 다음으로 변경합니다.
Response.AppendHeader("콘텐츠 처리", "첨부 파일; 파일 이름="" + Server.UrlEncode(fileName) + """);
그게 다야.
한자가 깨져 보이는 문제는 해결되었으나, 또 다른 문제가 남아 있습니다. 테스트 중에 다운로드하여 저장한 파일 이름이 로컬에서 콘텐츠를 다운로드할 수는 있지만 파일 이름이 페이지 이름(.aspx)이 되는 경우가 있습니다. 이름과 유형을 변경해야 하면 사용자에게 큰 혼란을 줄 수 있습니다.
위의 두 가지 문제를 쉽게 해결하는 또 다른 방법이 있습니다.
해결 방법 2: 현재 URL이 http://localhost/download.aspx?id=123 이고 파일 이름이 "Download.pdf"라고 가정하면 다운로드 URL을 http://localhost/download.aspx 로 변경하기만 하면 됩니다. /download .pdf?id=123 그러나 위의 밑줄 친 코드를 주석 처리할 수 있습니다. 시도해 보면 결과에 매우 만족할 것입니다