전주호
WebSurf
전주호
전체 방문자
오늘
어제
  • 분류 전체보기 (63)
    • CS (1)
    • 프로그래밍 언어 (3)
      • JAVA (1)
      • Python (2)
    • WEB (35)
      • Spring (21)
      • FastAPI (1)
      • React (4)
    • Git (1)
    • Database (2)
    • Cloud (4)
    • Docker (0)
    • Linux (0)
    • AI (8)
      • ComputerVision (3)
      • CUDA (1)
      • Anaconda (1)
      • NLP (1)
    • ETC (9)
    • Project (0)
      • GolaBlur (0)
    • 알고리즘 문제 풀이 (0)
      • 프로그래머스 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백엔드로드맵
  • API
  • spring
  • 테스트
  • http
  • conda
  • web
  • springboot
  • MobileFaceSwap
  • EC2
  • PYTHON
  • 백엔드
  • 트러블슈팅
  • react
  • 클라우드
  • Spring Security
  • oauth2
  • websocket
  • S3
  • AI
  • 스프링
  • db
  • AWS
  • Internet
  • jpa
  • 단위테스트
  • cloud
  • 문제해결
  • jwt
  • junit

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
전주호

WebSurf

WEB

[Web] REST API 에서 파일 송수신

2022. 11. 1. 18:01
반응형

 

프로젝트의 기능 중 웹 소켓을 이용해 채팅하는 기능을 구현하면서

Spring 서버로 전송된 파일을 AWS S3에 저장하기 위해서

MultipartFile 객체를 File 객체로의 변환이 필요했다.

그리고 S3에서 다시 다운로드해서 클라이언트로 보내주기 위해서

S3에서 받은 파일을 바이트 형식으로 변환해서 보내주어야 했다.

 

참고한 블로그를 정리해두었다.

 


 

MultipartFile 객체를 File 객체로 변환시키기

 

먼저 스토리지에 저장하기 위해서 File 객체로 변환시키는데,

이에 관한 방법은 여러가지가 있었다.

 

해당 글을 참고하자.

 

Reference

https://www.baeldung.com/spring-multipartfile-to-file

 

Converting a Spring MultipartFile to a File | Baeldung

Learn to convert a Spring MultipartFile to a File.

www.baeldung.com

 


AWS S3에서 가져온 파일을 Byte 형식으로 변환시키기

 

이 부분에서는 IOUtils.toByteArray() 메서드를 사용해서 byte 배열을 만들어 넣어주었다.

 

아래에 있는 블로그에 정리가 잘 되어있어서 많은 도움이 되었다.

 

블로그 내용을 나의 프로젝트에 맞춰서 각색하여 사용했다.

 

 

Reference

https://terianp.tistory.com/154

 

Spring Boot Web Chatting : 스프링 부트로 실시간 채팅 만들기 (3) S3 기반 채팅 파일 업로드 & 다운로드

10.29 추가 : 일반(문자) 채팅만 구현하는 코드는 git 의 master 브렌치를 참고해주시기 바랍니다. master-Webrtc-jpa 는 화상 채팅과 jpa 를 이용한 DB 연결을 포함하는 브렌치입니다. - 최근 스터디에서 파

terianp.tistory.com

 

 

반응형

'WEB' 카테고리의 다른 글

[Trouble Shooting] CORS 에러 ->> The request client is not a secure context and the resource is in more-private address space `private`.  (0) 2023.05.31
[Web] WebRTC를 활용한 화상통화 서비스의 서버 구성  (0) 2023.05.02
[Web] WebSocket API / REST API  (0) 2023.04.13
[Web] Web Socket / Web RTC  (0) 2023.04.09
[React] 리액트 시작하기  (0) 2022.12.27
    'WEB' 카테고리의 다른 글
    • [Web] WebRTC를 활용한 화상통화 서비스의 서버 구성
    • [Web] WebSocket API / REST API
    • [Web] Web Socket / Web RTC
    • [React] 리액트 시작하기
    전주호
    전주호

    티스토리툴바