Spring Boot를 이용해서 Google Cloud Storage에 접근하는 샘플코드를 작성하였다.
연결을 위한 설정은 다음의 링크를 참고한다.
2019/12/29 - [IT/Spring Boot] - Spring Boot + Google Cloud Platform 이용하기
Spring Boot + Google Cloud Platform 이용하기
작업환경 IDE : STS(Spring Tool Suite) Build Tool : Maven 나의 작업환경은 위와같이 STS+Maven이다. 현재 나는 웹 에디터에서 이미지를 올릴떄, 로컬이 아닌 구글 클라우드의 스토리지에 올리는 작업을 진행하..
honeyinfo7.tistory.com
작업순서
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 |