Spring Boot를 이용해서 Google Cloud Storage에 접근하는 샘플코드를 작성하였다.
연결을 위한 설정은 다음의 링크를 참고한다.
2019/12/29 - [IT/Spring Boot] - Spring Boot + Google Cloud Platform 이용하기
작업순서
1. Google Cloud Storage에 버킷을 생성
2. 버킷내에 이미지 파일 추가.
3. 버킷이름과 이미지 파일의 이름을 갖고 접근하는 샘플 소스작성
[샘플 소스]
import org.springframework.beans.factory.annotation.Value;
@RestController
@RequestMapping("/google")
public class GcsController {
@Value("gs://[버킷명]/[파일명]")
private Resource gcsFile;
@RequestMapping("/img")
@ResponseBody
public ResponseEntity<?> serveFile() throws IOException {
HttpHeaders headers = new HttpHeaders();
String fileName = gcsFile.getFilename();
headers.add(HttpHeaders.CONTENT_DISPOSITION,
"attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\"");
if(fileName.toLowerCase().endsWith("jpg")) {
headers.setContentType(MediaType.IMAGE_JPEG);
}
else if(fileName.toLowerCase().endsWith("gif")) {
headers.setContentType(MediaType.IMAGE_GIF);
}
else if(fileName.toLowerCase().endsWith("png")) {
headers.setContentType(MediaType.IMAGE_PNG);
}
else {
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
}
return ResponseEntity.ok().headers(headers).body(gcsFile);
}
}
'IT > Spring Boot' 카테고리의 다른 글
Feign을 이용한 HttpClient 생성 및 Http API 호출하기 (0) | 2020.03.13 |
---|---|
Spring Boot @ModelAttribute로 Date타입 Data 바인딩 안될때 (0) | 2020.01.04 |
Spring Boot + Google Cloud Platform 이용하기 (0) | 2019.12.29 |
Springboot application.yml값 읽어오기 (0) | 2019.12.29 |
Spring Boot War 파일로 배포하기 (0) | 2019.10.29 |