느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라

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);
    }
}
profile

느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라

@주현태

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!