2023. 5. 15. 20:00ㆍProgramming/기술 정리
게시판 작성과 관련 하여, 일반적인 value, 동적인 key와 value를 가진 obj, 파일 첨부를 프론트에서 백으로 넘기기 위해 찾았던 방법이다
파일 첨부 전송을 위해서는 다음과 같이 기본적으로 form 태그에 enctype="multipart/form-data" 속성을 추가해야함을 잊지말자.
(1) 기본 설정
<form id ="폼태그 아이디명" enctype="multipart/form-data">
<input type="button" value="저장" onclick= "saveData()"/>
</form>
(2)관련 함수
function saveData(){
let obj= {};
var column= ["key1","key2","key3"];
var data = ["test1","test2","test3"];
var getForm = $("#전체Form의 id명")[0];
var sendForm = new sendForm(getForm);
sendForm.append("title", $("#title").val() ); //저장하려는 객체 파라미터명, value1
sendForm.append("contents", $("#contes").val() ); //저장하려는 객체 파라미터명, value2
//동적인 key와 value를 가진 obj 객체만들기
for(var i = 0; i< column.length; i++){
obj[column] = data[i];
}
//map형태의 data는 JSON문자열 형태로 변환한다.
sendForm.append("obj", JSON.stringify(obj) );
//삭제하지 않은 filesArray1만 sendForm의 file1에 전송
for(var i = 0 ; i< filesArray1.length; i++){
if(!filesArray1[i].is_delete){
sendForm.append("fiel1", filesArray1[i]);
}
}
$.ajax({
type: "POST",
url : "/전송 url",
async: true,
data: sendForm,
cache : false,
contentType: false,
processData: false,
success: function(data) {
console.log(data);
}
});
}
'Programming > 기술 정리' 카테고리의 다른 글
[JAVA] Mybatis, Ibatis LIST 파라미터 전달하기 (0) | 2023.06.16 |
---|---|
[Java] Null pointer exception 해결하기, 문자열 null 체크하기. 빈객체 체크하기 (0) | 2023.05.30 |
[JAVA] 게시판 작성하기3 Backend에서 받는 첨부파일 포함 VO 만들기 (0) | 2023.05.21 |
[javascript] 게시판 작성하기1 - 파일 다중 첨부 기능 구현하기(프론트) (0) | 2023.05.14 |
[javascript] 동적인 key와 value를 가진 json 객체 만들기 (0) | 2023.05.10 |