'개발/스프링'에 해당되는 글 1건

  1. 2024.04.05 spring mvc 구조에서 데이터와 파일을 같이 받는 방법 (feat. curl)

사전 조건: curl 명령어로 전송

curl -s -X POST -F "json={"key":"value"}" -F "file=@/var/temp/20240320144142208137262.zip" http://192.168.0.1/controller/1
@Controller
@RequestMapping(value = "/controller")
public class Controller extends InterfaceController {
	@SuppressWarnings({ "unchecked" })
	@RequestMapping(value = "/sample", method = RequestMethod.POST)
	public ResponseEntity<String> sample(MultipartHttpServletRequest request) {
		ResponseEntity<String> retRE = new ResponseEntity<String>();
        JSONObject jso = null;
		Iterator<String> fileNames = null;
        String fileName = null;
    	MultipartFile file = null;
        String srcOrgFileName = "";
        
    	// JSON 데이터 추출
		jso = (JSONObject) parser.parse(request.getParameter("json"));
		
	    try {
    		// 멀티파트 요청에서 파일 추출
			fileNames = request.getFileNames();
			
			if(fileNames.hasNext()) {
				fileName = fileNames.next();
				file = request.getFile(fileName);
				srcOrgFileName = file.getOriginalFilename();
				
                // 파일 업로드 로직 구현
                // ...
			}
	    } catch(Exception e) {
    	}
    	
    	return retRE;
	}
}
Posted by 테리
: