[DAY68] 파일업로드법 (ajax을 이용한 upload방법)

NA YE SOM·2023년 10월 13일

pom.xml
web.xml

homecontroller 지우기
home.jsp 지우기

index.jsp
detail.jsp
write.jsp

오전에 파일 upload처리하는 방법

dependency로 하기

Maven repository 열기

common io(입출력)



-> 2.8





-> 1.5

-> 2개있으면 파일 업로드하는데 지장 x

-> maven update하기!

package

Multipartresolver : 파일업로드할때 기본세팅하는것(파일크기는 얼마까지하겠다)




-> 항상 Interface기준으로 bean을 넘기는것
: proxy




-> 파일을 하루에 한번 바꾸는 작업 수행할 수 있게금


-> 공부하다보면 윈도우 역슬래쉬로 구분한다





-> 올릴때 이름과 저장될 때 이름은 다름



-> DB에 저장시켜놓을것(오늘은 DB안함)
-> 찾는데 문제 없음







-> regex : 정규식

regex : 정규식 입력하세요(regular expression)



-> 마침표 들어가면 안된다
-> 정규식의 마침표 의미가 다르다



-> 하이픈 날리기

-> uuid를 이용한 파일이름 나옴


-> 파일이름은 두고두고 쓰면됨

-> 패턴 쓰는것이 더 좋을것 같음 (수정)






-> httpservletrequest로 받을 수 없음


-> controller stop하고 service 구성하기

FileServleImpl




-> 이상황에서 언제나 준비해야할것

-> multiparthttpservletrequest임









-> 첨부상황에 따라서 path가 여러개 만들어져 있어야함
-> 오늘 실행하면 오늘 날짜 폴더에 내일 실행하면 내일 날짜 폴더에 만들어짐



-> 자바 코드들이 대다수였는데 이제는 스프링 코드

-> 파일 복사


-> FOR문으로 돌림(첨부가 한번만 되는것이 아니라 여러번 된다)




-> controller가 0을 받아서 쓰지를 않음



-> mvcController로 추가안해놓음


-> 여러개 첨부할 수 있음




-> 확인은 자기 stroage가서

-> 확인


-> 이름이 random임(영문과 숫자 ; 16진수 값으로 되어있음 : encoding깨지거나 못찾을 우려없음
-> db에 잘 놔두기)




-> 필요없으니까 호출만 한것


-> 하나 만드는게 append 하나하는것




-> 이게 첨부된 파일의 접근방식이다


-> 첨부된 파일 양식의 files를 붙이면됨





-> 세트처럼 가지고 다니기






-> success 아니면 false인데 UTF-Encoding 8이 필요하지 않음




-> 복사하기



같은이름으로






-> service는 차이가없다
-> ajax 반환시켜주는 controller가 바뀌고
service는 같음(반환해줄값만 적절하게 만들어주면 됨)




-> upload하는 방법은 우리가 다 아는것임


-> files 밑에를 다른 이름으로 바꾸는것

-> 파일 하나하나의 최대 크기를 10메가로 잡음



-> files property







-> 반복문이 완성








-> each 끝나고 totalSize > maxSize를 넘어섰을때









-> this가 포함된 function이 each function 임




-> 개별 첨부는 stop
-> 전체로 걸리는지 보기!!

-> 누적만 시켜서 전체크기 체크하는지 보기

--> 크기 체크 완성














-> 둘다 되는것 같은 함수쓰니까





-> class도 맞혀놨으니까 동일하게 동작함

★★★front상황에 맞추어서 customerizing 해야할 상황이 있을것(그대로 복붙하면 x)

github 로그인


아무것도 체크안하고 create repository





-체크없이 지우기


위치를 바탕화면으로




바탕화면에 notice

-> 다시이름바꾸기


-> project 목록으로 올라오는것과 실제 저장소하고 달라도 상관없음


-> git


-> 실제 개발환경에서 하나만 하고 프로젝트만 올리는것

★★실제 개발환경에서 사용함

-> 원래는 git에 올릴때 project하나를 딱 짚어서 올리면 된다
-> 기존의 repoistory에 project올리면 안됨
(바탕화면으로 뺀것처럼 어디 안에다가 만들면 안됨 -> 만든다음에 위치를 옮겨서 다시 불렀음)

-> 다 하고 add commit push만해서 올리기!!

1.쿼리문 script : 받아서 실행하기

2.문제는 pdf로 올려놓음 : 기본 CRUD 화면 구성되어있음

주소가 어떻게 되어있는지 보기!





목록기능완성부터하기
1. 목록에 관련된 코드들만 가져다두고 그걸 돌려서 그쪽안에서 오류가 있는지 없는지 찾기
(다 복붙해서 찾으면 안됨)
-> 관련된 jsp, controller, dao만 가져다 두고 돌려보기

notice.zip으로 첨부제출하기!

profile
개발자 velog

0개의 댓글