파일업로드 질문사항입니다.
- 작성자 :
- w****r
- 작성일 :
- 2021-07-30 11:42:09
- 조회수 :
- 4,059
- 구분 :
- 공통컴포넌트 /
- 진행상태 :
- 완료
Q
우선 3.9 컴포넌트 다운을 통해서 사용하고있습니다.
질문사항은 파일업로드 분야이구요. 질문을 2개로 나눠서 하겠습니다~
1. 파일첨부가 2개이상 안 됩니다.
3.9 컴포넌트를 다운하여 관리자쪽에서 게시판에서 게시글 등록 및 수정을 하는데 파일첨부개 1개는 잘 되는데, 복수가 안됩니다.
input에 mutiple이 적혀있어서 선택은 되고, 선택후에 리스트에 선택한 2개가 정상적으로 나오는데 '등록' 또는 '수정'버튼을 누르면, 1개의 파일은 업로드가 됩니다.
3.9 공통 컴포넌트를 다운 받고도 소스 수정이 필요한 부분인가요?
https://www.egovframe.go.kr/home/qainfo/qainfoRead.do?pagerOffset=0&searchKey=all&searchValue=final+Map%26lt%3BString%2C+MultipartFile%26gt%3B+files+%3D+multiRequest.getFileMap%28%29%3B&menuNo=69&qaId=QA_00000000000019486
위에 질문답하기 글을 통해서 조금 이해를 하고는 있지만 위에 답변 내용대로
final Map<String, MultipartFile> files = multiRequest.getFileMap();
===>
final List<MultipartFile> files = multiRequest.getFiles("file_1");
바꾸면 files에 관련된
List<FileVO> result = fileUtil.parseFileInf(files, "BBS_", 0, atchFileId, ""); 여기서 files 형식이 다르다고하여 수정이 좀 많아져서요...
저 위에 방법이 맞다면 EgovFileMngUtil.java 파일에서 parseFileInf 함수에서 밑에 반복문까지 어떻게 바꿔야하는지 알려주시면 감사하겠습니다.
다른 방법이 있다면 알려주시면 시도해보겠습니다.
2. EgovMultiFile.js 와 EgovMultiFiles.js 차이
3.9버전을 쓰니까 EgovMultiFiles.js 을 사용중이더라구요.
이전에 EgovMultiFile.js 같은 경우 파일 선택후에 목록에서 DELETE 버튼이 있던데 EgovMultiFiles.js 에는 DELETE버튼이 없더라구요.
혹시 추가적으로 DELETE를 추가가 되는건지 궁금합니다.
된다면 스크립트에서 제가 기능 개발을 해야하는건가요?
질문사항은 파일업로드 분야이구요. 질문을 2개로 나눠서 하겠습니다~
1. 파일첨부가 2개이상 안 됩니다.
3.9 컴포넌트를 다운하여 관리자쪽에서 게시판에서 게시글 등록 및 수정을 하는데 파일첨부개 1개는 잘 되는데, 복수가 안됩니다.
input에 mutiple이 적혀있어서 선택은 되고, 선택후에 리스트에 선택한 2개가 정상적으로 나오는데 '등록' 또는 '수정'버튼을 누르면, 1개의 파일은 업로드가 됩니다.
3.9 공통 컴포넌트를 다운 받고도 소스 수정이 필요한 부분인가요?
https://www.egovframe.go.kr/home/qainfo/qainfoRead.do?pagerOffset=0&searchKey=all&searchValue=final+Map%26lt%3BString%2C+MultipartFile%26gt%3B+files+%3D+multiRequest.getFileMap%28%29%3B&menuNo=69&qaId=QA_00000000000019486
위에 질문답하기 글을 통해서 조금 이해를 하고는 있지만 위에 답변 내용대로
final Map<String, MultipartFile> files = multiRequest.getFileMap();
===>
final List<MultipartFile> files = multiRequest.getFiles("file_1");
바꾸면 files에 관련된
List<FileVO> result = fileUtil.parseFileInf(files, "BBS_", 0, atchFileId, ""); 여기서 files 형식이 다르다고하여 수정이 좀 많아져서요...
저 위에 방법이 맞다면 EgovFileMngUtil.java 파일에서 parseFileInf 함수에서 밑에 반복문까지 어떻게 바꿔야하는지 알려주시면 감사하겠습니다.
다른 방법이 있다면 알려주시면 시도해보겠습니다.
2. EgovMultiFile.js 와 EgovMultiFiles.js 차이
3.9버전을 쓰니까 EgovMultiFiles.js 을 사용중이더라구요.
이전에 EgovMultiFile.js 같은 경우 파일 선택후에 목록에서 DELETE 버튼이 있던데 EgovMultiFiles.js 에는 DELETE버튼이 없더라구요.
혹시 추가적으로 DELETE를 추가가 되는건지 궁금합니다.
된다면 스크립트에서 제가 기능 개발을 해야하는건가요?
환경정보
-
- OS 정보 : WINDOW10
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : 1.8
- WAS 정보 : TOMCAT 8.5
- DB 정보 : ORCL 11
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터 입니다.
답변1)
한번에 여러개의 파일을 업로드 하실경우
다음 빈설정파일에서
/src/main/resources/egovframework/spring/com/context-common.xml
다음 부분을 변경해 보시기 바랍니다.
<alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" />
===>
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
다음 클래스를 사용하시면 될듯 합니다.
org.springframework.web.multipart.commons.CommonsMultipartResolver
답변2)
EgovMultiFiles.js는 파일관리와 관련한 개선돤 Javascript 파일 버전입니다.
공통컴포넌트 v3.8이상에서는
이 파일을 사용하셔야 합니다.
답변3)
공통컴포넌트 v3.9 Allinone을 보시면
삭제 기능이 동작 합니다.
다만, 세션모드 접근제어에서
다음과 같은 import를 사용하시는 경우
<c:import url="/cmm/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
호출되는 URL /cmm/fms/selectFileInfsForUpdate.do 와
egovframework/com/cmm/fms/EgovFileList.jsp 를 모두
권한 URL에 등록하여야 합니다.
해당 권한이 추가되지 않으면
목록이 보이지 않거나 삭제 버튼이 보이지 않을수 있습니다.
감사합니다.
표준프레임워크센터 입니다.
답변1)
한번에 여러개의 파일을 업로드 하실경우
다음 빈설정파일에서
/src/main/resources/egovframework/spring/com/context-common.xml
다음 부분을 변경해 보시기 바랍니다.
<alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" />
===>
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
다음 클래스를 사용하시면 될듯 합니다.
org.springframework.web.multipart.commons.CommonsMultipartResolver
답변2)
EgovMultiFiles.js는 파일관리와 관련한 개선돤 Javascript 파일 버전입니다.
공통컴포넌트 v3.8이상에서는
이 파일을 사용하셔야 합니다.
답변3)
공통컴포넌트 v3.9 Allinone을 보시면
삭제 기능이 동작 합니다.
다만, 세션모드 접근제어에서
다음과 같은 import를 사용하시는 경우
<c:import url="/cmm/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
호출되는 URL /cmm/fms/selectFileInfsForUpdate.do 와
egovframework/com/cmm/fms/EgovFileList.jsp 를 모두
권한 URL에 등록하여야 합니다.
해당 권한이 추가되지 않으면
목록이 보이지 않거나 삭제 버튼이 보이지 않을수 있습니다.
감사합니다.