FormData형식 파일 업로드 질문입니다.
- 작성자 :
- 니**캉
- 작성일 :
- 2018-05-03 11:10:22
- 조회수 :
- 1,695
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요!
전자정부 FrameWork를 사용하고 있습니다.
질문을 바로 하겠습니다.
화면단에서 Script로 FormData로 Ajax통신으로 파일및 값을 넘깁니다.
-------------------------- jsp --------------------------------------------
var formData = new FormData($("form[name=listFrm]")[0]);
(파일은 동적으로 계속추가할수 있는 화면으로 1개이상을 첨부할수 있습니다.
혹시나 동적인 추가로 인해 버거가 발생했나 싶어 로그를 찍어봤습니다.
console.log(formData.getAll("file")); <-- 추가된 파일 모두 넘기는걸 로그로 찍어줍니다.
)
$.ajax({
url: '/uploadFile.do'
processData: false,
contentType: false,
data: formData,
type: 'POST',
success: function(data){
//생략
},error:function(e,ext,r){
hideLoading();
}
});
문제는 전자정부에서 제공한 lib문제인지 저런식으로 넘기면
파일을 1개만 받고 n개를 받지 못합니다.
-------------------------- java --------------------------------------------
MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest)request;
Iterator fileIter = mptRequest.getFileNames();
while (fileIter.hasNext()) {
//파일 1개만 잡아내고 나머지는 어디론가 날라가버렸습니다.
//생략
}
혹시 전자정부 버전에 문제가 있나요 ?
저희쪽은 3.x버전으로 알고 있습니다.
빠른 답변 부탁드립니다.
감사합니다.
전자정부 FrameWork를 사용하고 있습니다.
질문을 바로 하겠습니다.
화면단에서 Script로 FormData로 Ajax통신으로 파일및 값을 넘깁니다.
-------------------------- jsp --------------------------------------------
var formData = new FormData($("form[name=listFrm]")[0]);
(파일은 동적으로 계속추가할수 있는 화면으로 1개이상을 첨부할수 있습니다.
혹시나 동적인 추가로 인해 버거가 발생했나 싶어 로그를 찍어봤습니다.
console.log(formData.getAll("file")); <-- 추가된 파일 모두 넘기는걸 로그로 찍어줍니다.
)
$.ajax({
url: '/uploadFile.do'
processData: false,
contentType: false,
data: formData,
type: 'POST',
success: function(data){
//생략
},error:function(e,ext,r){
hideLoading();
}
});
문제는 전자정부에서 제공한 lib문제인지 저런식으로 넘기면
파일을 1개만 받고 n개를 받지 못합니다.
-------------------------- java --------------------------------------------
MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest)request;
Iterator fileIter = mptRequest.getFileNames();
while (fileIter.hasNext()) {
//파일 1개만 잡아내고 나머지는 어디론가 날라가버렸습니다.
//생략
}
혹시 전자정부 버전에 문제가 있나요 ?
저희쪽은 3.x버전으로 알고 있습니다.
빠른 답변 부탁드립니다.
감사합니다.
A
안녕하세요.
표준프레임워크센터입니다.
다음과 같이 넘긴다고 ajax방식으로 하셨는데요.
var formData = new FormData($("form[name=listFrm]")[0]);
수신하는 쪽에서는 MultipartHttpServletRequest 로 받으시는것 같습니다.
Servlet의 Multipart규격으로 전송이 되어야 하는데
ajax로 전송이 되다보니
해당요건이 만족되지 않아서 그런듯합니다.
HTML파일을 하나 만들어서
다음 태그를 삽입한다음 기본 테스트를 해보시기를 권장드립니다.
<form action="/action_page_binary.do" method="post" enctype="multipart/form-data">
감사합니다.
표준프레임워크센터입니다.
다음과 같이 넘긴다고 ajax방식으로 하셨는데요.
var formData = new FormData($("form[name=listFrm]")[0]);
수신하는 쪽에서는 MultipartHttpServletRequest 로 받으시는것 같습니다.
Servlet의 Multipart규격으로 전송이 되어야 하는데
ajax로 전송이 되다보니
해당요건이 만족되지 않아서 그런듯합니다.
HTML파일을 하나 만들어서
다음 태그를 삽입한다음 기본 테스트를 해보시기를 권장드립니다.
<form action="/action_page_binary.do" method="post" enctype="multipart/form-data">
감사합니다.