[SPRING] 스프링 MVC 컨트롤러에서 XML 파일 반환
SPRING스프링 MVC 컨트롤러에서 XML 파일 반환
나는 컨트롤러 함수에서 파일을 반환하기 위해 많은 노력을했다.
이것은 내 기능이다.
@RequestMapping(value = "/files", method = RequestMethod.GET)
@ResponseBody public FileSystemResource getFile() {
return new FileSystemResource(new File("try.txt"));
}
이 오류 메시지가 나타납니다.
누구든지 그것을 해결하는 방법을 알고 있습니까?
그리고 클라이언트 (JavaScript, jQuery)에서 어떻게 보내야합니까?
해결법
-
==============================
1.편집 2 : 우선 - 하단에있는 편집 1 참조 - 그게 옳은 방법. 그러나 serializer가 작동하지 않는 경우이 솔루션을 사용하여 XML 파일을 문자열로 읽은 다음 사용자에게 저장할 것을 약속합니다.
편집 2 : 우선 - 하단에있는 편집 1 참조 - 그게 옳은 방법. 그러나 serializer가 작동하지 않는 경우이 솔루션을 사용하여 XML 파일을 문자열로 읽은 다음 사용자에게 저장할 것을 약속합니다.
@RequestMapping(value = "/files", method = RequestMethod.GET) public void saveTxtFile(HttpServletResponse response) throws IOException { String yourXmlFileInAString; response.setContentType("application/xml"); response.setHeader("Content-Disposition", "attachment;filename=thisIsTheFileName.xml"); BufferedReader br = new BufferedReader(new FileReader(new File(YourFile.xml))); String line; StringBuilder sb = new StringBuilder(); while((line=br.readLine())!= null){ sb.append(line); } yourXmlFileInAString = sb.toString(); ServletOutputStream outStream = response.getOutputStream(); outStream.println(yourXmlFileInAString); outStream.flush(); outStream.close(); }
그 일을해야합니다. 그러나 브라우저는 URL 내용을 캐시하므로 파일 당 고유 한 URL을 사용하는 것이 좋습니다.
편집하다:
추가 검사를 마친 후에는 액션에 다음 코드를 추가하여 작동되도록해야합니다.
response.setContentType("text/plain");
(또는 XML 용)
response.setContentType("application/xml");
따라서 전체 솔루션은 다음과 같아야합니다.
@RequestMapping(value = "/files", method = RequestMethod.GET) @ResponseBody public FileSystemResource getFile(HttpServletResponse response) { response.setContentType("application/xml"); return new FileSystemResource(new File("try.xml")); //Or path to your file }
from https://stackoverflow.com/questions/31564928/return-xml-file-from-spring-mvc-controller by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 컨트롤러에서 AOP 조언을 통해 RequestMapping 요청을 얻는 방법은 무엇입니까? (0) | 2019.04.20 |
---|---|
[SPRING] spring-mybatis로 봄 부팅 - 모든 SQL 쿼리를 로깅하는 방법 (0) | 2019.04.20 |
[SPRING] Spring LDAP에 LDAP 캐시를 추가하는 방법은 무엇입니까? (0) | 2019.04.20 |
[SPRING] 다른 설정에서 하나의 XML 설정으로 선언 된 스프링 빈을 재정의 할 수 있습니까? (0) | 2019.04.20 |
[SPRING] 하위 메서드에서 예외가 발생할 때 트랜잭션에 대해서만 롤백 없음 (0) | 2019.04.20 |