본문 바로가기
Programming/Spring

[Spring] 파일 업로드

by 공부합시다홍아 2024. 5. 26.
 

[Spring] AOP, 관점 지향 프로그래밍

[Spring] Session, 세션[JSP] 쿠키와 세션 - 세션[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이란, 웹 어플리케이션을

hong-study.tistory.com


일반 업로드

파일 업로드 방식에는 크게 3가지 방법이 존재한다.

  • cos.jar 이용 ( JSP 에서 사용 )
  • commons-fileupload 이용 : 스프링에서 가장 일반적으로 많이 활용 ( 서블릿 스펙 3.0 이전, 이후 모두 사용 가능 )
  • 서블릿 3.0 이상에서 부터는 자체적인 파일 업로드가 지원됌

Commons-fileupload를 이용한 방식

1. 준비사항


일반 업로드

파일 업로드에서는 enctype(인코딩 타입)을 multipart/form-data으로 반드시 설정해야 한다.


비동기 업로드

업로드 이후에는 비동기 식으로 목록을 불러와서 태그에 그리는 작업을 처리한다.


이미지 파일 불러오기

방법1

이미지 태그가 다음과 같은 때, src가 경로를 읽어 호출하는 원리 이용


방법2

네트워크를 통해 binary 파일(음악, 동영상 등)을 전송하는 경우들이 생기게 됩니다.
이런 파일을 전송할 때 binary 파일 형태로 전송할 때, 파일을 정상적으로 전송하지 못하는 경우가 발생하게 된다.

그래서 binary 파일을 문서로 변환해서 보내도록 된다.
텍스트 파일로 변환하는 작업(Encoding), 다시 바이너리 파일로 변환하는 작업(Decoding)을 거치게 된다.

MIME이란 이런 파일의 변환을 뜻한다. ( 파일을 주고 받을 때 파일 변환을 해서 보냄 )

클라이언트와 서버간에 데이터를 전송할 때, 전송하는 문서의 헤더에 파일이나, 데이터의 바이트데이터를 보낸다.
이런 헤더에는 많은 정보(보내는 데이터의 Content-Type, 서버의 시간, 프로토콜 등 ) 을 담고 있다.

웹에서 이런 헤더에 담는 가장 기본적인 MIME타입은 text/html 이며, 파일을 전송할 때는 이런 MIME 타입을 헤더에 담아서 보낼 수 있다.


파일 다운로드

클릭시 비동기로 요청보내는 형식을 이용한다.

728x90

'Programming > Spring' 카테고리의 다른 글

[Spring] AOP, 관점 지향 프로그래밍  (0) 2024.05.26
[Spring] Session, 세션  (0) 2024.05.26
[Spring] RestAPI  (0) 2024.05.26
[Spring] MyBatis  (0) 2024.05.26
[Spring] JDBC - OracleDB  (0) 2024.05.26