[spring security] 파일 다운로드
보안 또는 파일중복을 방지하려고 파일을 업로드 할 때 이름을 시스템이름으로 변경하여 저장합니다.
그런데 파일 위치는 보통 웹서버에 두지 않고 외부 접근 권한이 없는 폴더에 넣습니다.
방법중에 하나입니다.
그림.png를 웹페이지에 잘 보여줍니다.
시스템파일명이 필요하다면 getPublicFile에서 db에 접근하여 파일명을 조회해서 가져오면 될 것입니다.
* /src/main/resources/message.properties
file.getUploadFilePath = c:/files
* /src/main/java/HomeController.java
@Autowired
protected MessageSourceAccessor messageBundle;
@ResponseBody
public FileSystemResource getPublicFile(
@RequestParam(value = "name", required=true, defaultValue="" ) String name
,HttpServletResponse response
) {
logger.debug("/name ... " + name );
File f = new File(messageBundle.getMessage("file.getUploadFilePath") + "/" + name);
response.setContentType("application/octet-stream");
return new FileSystemResource(f);
}
* jsp
<img src="<c:url value='/files?name=그림.png'/>" />
[spring security] 파일 다운로드
'programming > spring_security' 카테고리의 다른 글
[Spring Security] 페이지 로딩에 대해서 (0) | 2016.08.18 |
---|---|
[Spring Security] STS로 Spring Security 시작하기 (2) | 2016.08.05 |
[spring security] 이용자 정보 가져오기 설정하기 (0) | 2014.10.30 |
[spring security] 페이징 게시판 만들기 2) 고객센터 게시판 달기 (0) | 2014.09.19 |
[spring security] jquery li 클릭시 자바스크립트 push 이용하기 (0) | 2014.09.16 |