FileUtils ( 파일 저장 경로 , 디비 저장 경로 및 파일 업로드 ) > SPRINGBOOT

본문 바로가기
사이트 내 전체검색

SPRINGBOOT

FileUtils ( 파일 저장 경로 , 디비 저장 경로 및 파일 업로드 )

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 35회 작성일 24-06-11 14:57

본문

package web.common;


import java.io.File;

import java.time.ZonedDateTime;

import java.time.format.DateTimeFormatter;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;


import org.springframework.stereotype.Component;

import org.springframework.util.ObjectUtils;

import org.springframework.web.multipart.MultipartFile;

import org.springframework.web.multipart.MultipartHttpServletRequest;


import web.dto.BoardFileDto;


@Component //개발자가 직접 작성한 Class를 객체(Bean)로 등록 가능하게 하는 기능

public class FileUtils {


public List<BoardFileDto> parseFileInfo(int boardIdx, MultipartHttpServletRequest multipartHttpServletRequest) throws Exception {

if(ObjectUtils.isEmpty(multipartHttpServletRequest)) {

return null;

}


List<BoardFileDto> fileList = new ArrayList<>();

DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyMMdd");

ZonedDateTime current = ZonedDateTime.now();

// 01. sts4 기본 톰캣을 이용시 

String path = "C:/springboot/web/src/main/resources/static/upload/" + current.format(format); //파일 저장 경로

// 02. 설치한 톰캣을 연동시

//String path = "src/main/resources/static/upload/" + current.format(format); //폴더 경로

File file = new File(path);

if(file.exists() == false) {

file.mkdirs();

}


Iterator<String> iterator = multipartHttpServletRequest.getFileNames();


String newFileName, originalFileExtension, contentType;


while(iterator.hasNext()) {

List<MultipartFile> list = multipartHttpServletRequest.getFiles(iterator.next());

for(MultipartFile multipartFile : list) {

if(multipartFile.isEmpty() == false) {

contentType = multipartFile.getContentType();

if(ObjectUtils.isEmpty(contentType)) {

break;

}

else {

if(contentType.contains("image/jpeg")) {

originalFileExtension = ".jpg";

}

else if(contentType.contains("image/png")) {

originalFileExtension = ".png";

}

else if(contentType.contains("image/gif")) {

originalFileExtension = ".gif";

}

else {

break;

}

}


newFileName = Long.toString(System.nanoTime()) + originalFileExtension;

BoardFileDto boardFile = new BoardFileDto();

boardFile.setBoardIdx(boardIdx);

boardFile.setFileSize(multipartFile.getSize());

boardFile.setOriginalFileName(multipartFile.getOriginalFilename());

boardFile.setStoredFilePath(path + "/" + newFileName); //디비 저장 경로

// boardFile.setStoredFilePath("/upload/"+current.format(format)+"/"+newFileName); //디비 저장 경로

fileList.add(boardFile);


file = new File(path + "/" + newFileName);

multipartFile.transferTo(file);

}

}

}

return fileList;

}

}

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
160
어제
160
최대
10,760
전체
279,295
Copyright © dancePKT . All rights reserved.