hello world

자바 파일 업로드 익스플로러 에러 .json을 열거나 저장하시겠습니까 본문

WEB/error_log

자바 파일 업로드 익스플로러 에러 .json을 열거나 저장하시겠습니까

sohyun_92 2020. 3. 6. 15:03
728x90

[IE에서 .json을 열거나 저장하시겠습니까 에러 해결 방법]

 

스프링에서 파일 업로드시 @ResponseBody를 이용하여 JSON을 return 할때

익스플로러에서 json 파일이 다운로드 되는 에러가 발생한다.

그렇기 때문에 @ResponseBody를 이용하면 안되고

json 형태로 return 할수 있는 또 다른 방법인 jsonView를 사용해야한다.

 

1.jsonVeiw 

jsonView를 사용하기위해서는

 

[서블릿 설정 xml ]이 필요하다. 

spring 3.x 이상, jackson 2.x이상 : MappingJackson2JsonView,

그 외 : MappingJacksonJsonView 클래스 사용

spring-servlet.xml

<beans:bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
		<beans:property name="contentType" value="text/html;charset=UTF-8" />
	</beans:bean>    

 

 

[서버 : controller]

JSON으로 보내고 싶은 데이터를 조회해오고(jsonData)

param.addAttibute 를 통해 data에 rtnValue를 담아 jsonView 형태로 return 한다.

 

방식 1)

model.addAttribute("키이름", data);

retrun "jsonView"

 

방식2)

ModelAndView mav= new ModelAndView();

mav.setViewName("jsonView");

mav.addObject("키이름", data)";

return mav;

 

[클라이언트 : jsp]

dataType: "json"  으로 받음 

 


jsonView를 사용하는 방법 이 외의 또 다른 해결 방법은 

2.PrintWriter

 

[서버 : controller]

PrintWriter printwriter;
printwriter = response.getWriter();
printwriter.print(rtnValue.getFileName().toString());

PrintWirter를 사용해서 text로 리턴해주는 것 !.... 

 

[클라이언트 : jsp]

json 대신 text로 바꿔주면된다

 

 , dataType: "text"
 , contentType: 'text/plain'

 

 

Comments