#제이쿼리 #페이지변환없이 #해보자 #multipart/form-data #FormData #한참찾던거 #JS #자바스크립트 #개발 #코딩 #자바
포스팅 목차 바로가기
안녕하세요, 배곧동개발자 입니다.
ajax를 통해 비동기 데이터 전송을 많이 하실텐데, 파일을 옴길때는 꼭 폼을 submit 시키는 경향이 있더라구요. 파일도 비동기로 전송할 수 있습니다!
// 특이하게 아이디로 불러왔는데 꼭, 꼭 [0]를 붙혀서 받아야 한다. 빼면 오류남
var formData = new FormData($("#f_form")[0]);
$.ajax({
url: '전송할 URL',
type : 'POST',
enctype: 'multipart/form-data',
processData: false,
contentType: false,
cache: false,
data : formData,
success: function(data) {
// 완료 시 진행 될 코드
},
error: function(xhr, textStatus, errorThrown) {
// 오류 시 진행 될 코드
}
});
이렇게 FormData를 써서 한번에 넘겨버리면 그만! 당연히 multipart/form-data 는 지켜줘야합니다.
이렇게 자바쪽으로 보낸 다음에 자바에서는
MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest)req;
Iterator<String> fileNames = null;
fileNames = mptRequest.getFileNames();
이르케 파일을 받아주면 되는것이지요- mpt 파일을 그냥 file로 쓰고자하면
String fileName = fileNames.next();
MultipartFile mFile = mptRequest.getFile(fileName);
String saveFileName = mFile.getOriginalFilename();
File newFile = new File(saveFileName);
newFile.createNewFile();
FileOutputStream fos = new FileOutputStream(newFile);
fos.write(mFile.getBytes());
fos.close();
이런식으로 바꿔서 File로 사용 가능합니다. 딱히 어려운건 없지요!?
파일전송로직 짤때는 이래저래 항상 조심하게되는데, 이 로직 딱 저장해놓으셨다가 필요할때 꺼내 쓰세요!
나중에 내가 기억 안나면 봐야지!!
이만, 배곧동개발자 였습니다.
#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…
#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…
#레전드오브이미르 #작업장 #쌀먹 #중국 #매크로 #대기열 1. 운영 문제 있네? 이제 오픈 2주차에 들어온 위메이드의…
#레전드오브이미르 #엠틱 #마나회복력 #스토리덱 1. 마나가 너무 부족해! 레전드 오브 이미르는 스킬 위주의 액션 게임이라고…
#레전드오브이미르 #파괴가남긴것 #시구르드 #19-19 #위치 1. 파괴가 남긴 것 레전드 오브 이미르 메인퀘스트 19-19인 "파괴가…
#레전드오브이미르 #트롤의비밀상자 #트롤의유적상층 #보물상자 #위치 1. 트롤의 비밀 상자 이번에 알아 볼 의뢰게시판 의뢰는 바로…