업로드된 파일 다운로드

Walter Mitty·2023년 2월 7일


브라우저에 있는 a.jpg를 다운로드하는게 아니라 서버에있는 a.jpg를 찾아가서 다운로드를 하는 것이다.

썸네일 파일을 만들어 놓으면 렌더링이 오래걸리는 원본파일보다는 작게 만들어놓은 썸네일 파일을 다운로드하도록, 썸네일용 라이브러리 사용


// 썸네일 파일 만들기 ------
int width = 100;
int height = 100;
String thumbFileName = "t_" + fileName; //썸네일 파일 네임
//썸네일 파일 객체 만들기
File thumbFile = new File(saveDirectory, thumbFileName);
FileOutputStream thumbnailOS = new FileOutputStream(thumbFile); //출력 스트림
InputStream thumbnailIS = f1.getInputStream(); //첨부파일 입력스트림
Thumbnailator.createThumbnail(thumbnailIS, thumbnailOS, width, height);

  • a.jpg 파일이 f1 이라는 이름으로 전달이 된거고 입력스트림을 이용해서 a.jpg의 내용을 읽는다
  • FileOutputStream에 쓰기를 한다. target은 thumbnailfilename으로 저장해놓은 t_a.jpg이고 그 객체를 해당 디렉토리에 생성을해서 출력 스트림으로 얻어온다.
  • 인풋스트림을 읽어서 t_a.jpg를 쓰기를 해주는게 .createThumbnail 메서드이다.

Thumbnailator.createThumbnail(thumbnailIS, thumbnailOS, width, height);
thumbnailIS: 읽기
thumbnailOS: 쓰기

  • t_원본파일명 이름으로 잘 들어간다!
  • 크기도 작아졌다!


이미지 그대로 보려면 inline으로,

  • : ㅇ!!!!!!!!!!!!!!! 신기해!! 원본파일 다운로드
    • 썸네일 다운로드는 시간도 덜걸리고 작아서 네트워크 비용이 그만큼 줄어든다.

확장자가 다양하니까 게시글 번호로만 찾기

0개의 댓글