0

클라이언트의 서버에있는 폴더에서 문서를 업로드/다운로드 할 수있는 기능이 포함 된 ASP.NET MVC 웹 응용 프로그램이 있습니다.앰퍼샌드 (&) 문자가 포함 된 파일 경로

앰퍼샌드 문자가 포함 된 파일 이름을 업로드하는 사람들에게 문제가 있습니다 (다른 문자도 가능합니다. 지금까지 발견 한 파일 중 하나뿐입니다). 분명히 작동하지 않습니다

window.location.href = 'MyController/DownloadDocument?filename=Dog & Cat.pdf'; 

: 결과는 내가 자바 스크립트를 얻고있다

같은 뭔가를 찾고 리디렉션합니다.

다음과 같은 이유로 가장 쉬운 방법은 무엇입니까? 쿼리 문자열에서 앰퍼샌드를 벗어나는 방법이 있습니까?

답변

4

사용 encodeUriComponent

, 나는 지금 내 MVC에서 ** ** 개 & Cat.pdf로 파일 이름을 얻고있다 제어 장치. 인코딩되지 않은 서버 측 ASP.NET과 동일한 기능이 있습니까?
+0

확인 (또한 URI를 허용하지 않는 공간의 문제가 해결됩니다) – fearofawhackplanet

+0

JavaScript에서 볼 수없는 HTML 인코딩입니다. 브라우저로 보내기 전에 JS를 HTML 인코딩 라이브러리를 통해 실행하는 것 같습니다. 디코딩은 해결책이 아니며 처음부터 그렇게 인코딩해서는 안됩니다. 그렇게하지 마십시오. – Quentin

+0

어디서나 수동으로 인코딩하지 않으므로이를 수정하는 방법을 모르겠습니다. – fearofawhackplanet

관련 문제