개발을 하면서 파일과 JSON을 같이 ajax로 전송해야 하는 상황이 생겼다.
이미 파일만 전송하는 것으로 되어 있었는데 추가로 JSON정보도 같이 전송해야 했다.
function upload(file, editor) {
var seq = $('#seq').val();
data = new FormData();
data.append("file", file);
data.append("seq", seq);//추가한 행
$.ajax({
data : data,
type : "POST",
url : "/upload",
contentType : false,
processData : false,
success : function(data) {
...
}
});
}
구글 검색해보니 추가할게 많지 않았다. append로 json정보를 같이 전송하면 된다.
서버쪽은 이런식으로 구성하면 된다.
@PostMapping(value="/upload", produces = "application/json")
@ResponseBody
public Map<String,String> upload(
@RequestParam("file") MultipartFile multipartFile
,@RequestParam(name="seq",required = false) Long seq
) {
...
}