Spring MVC를 사용하고 있으며 이것이 내 방법입니다.
/**
* Upload single file using Spring Controller.
*/
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public @ResponseBody ResponseEntity<GenericResponseVO<? extends IServiceVO>> uploadFileHandler(
@RequestParam("name") String name,
@RequestParam("file") MultipartFile file,
HttpServletRequest request,
HttpServletResponse response) {
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
// Creating the directory to store file
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "tmpFiles");
if (!dir.exists()) {
dir.mkdirs();
}
// Create the file on server
File serverFile = new File(dir.getAbsolutePath() + File.separator + name);
BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(serverFile));
stream.write(bytes);
stream.close();
System.out.println("Server File Location=" + serverFile.getAbsolutePath());
return null;
} catch (Exception e) {
return null;
}
}
}
우편 배달부와 파일에 세션 ID를 전달해야합니다. 어떻게 할 수 있습니까?
답변
우편 배달부에서 메소드 유형을 POST로 설정하십시오. .
그런 다음 본문-> 양식 데이터-> 매개 변수 이름 입력 ( 파일 코드에 따른 )을 선택하십시오.
그리고 다음 값 열을 오른쪽에있을 것 “텍스트 파일”드롭 다운 선택 파일 합니다. 이미지 파일을 선택하고 게시하십시오.
나머지 “텍스트”기반 매개 변수의 경우 우편 배달부에서 일반적으로하는 것처럼 게시 할 수 있습니다. 매개 변수 이름을 입력하고 오른쪽 드롭 다운 메뉴에서 “텍스트”를 선택하고 값을 입력 한 다음 보내기 버튼을 누르십시오. 컨트롤러 메서드가 호출되어야합니다.
답변
누락 된 비주얼 가이드
당신은해야한다 첫번째 의 거의 보이지 않는 옅은 회색에 흰색 드롭 다운 찾을 File
마법의 키를 잠금 해제 그 어떤 Choose Files
버튼을 누릅니다.
후에 당신이 선택 POST
, 다음 선택 Body->form-data
, 다음 파일 드롭 다운 메뉴를 찾은 다음 ‘파일’을 선택, 단지 다음 버튼 마술 표시 ‘파일 선택’을합니다 :
답변
답변
이렇게 :
본문-> 양식 데이터-> 파일 선택
“이름”대신 “파일”을 써야합니다.
또한 Body-> raw 필드에서 JSON 데이터를 보낼 수 있습니다. (JSON 문자열 붙여 넣기)
답변
- 헤더를 제공하지 마십시오.
- .json 파일에 json 데이터를 넣으십시오.
- 두 파일을 모두 선택하십시오. 하나는 .txt 파일이고 다른 하나는 요청 매개 변수 키에 대한 .json 파일입니다.
답변
양식 데이터를 사용하여 멀티 파트에 파일을 업로드 하고 동일한 POST 요청 에 json 데이터 (Dto 객체)를 보내야하는 경우
컨트롤러에서 JSON 개체를 String으로 가져오고이 줄을 추가하여 Deserialize로 만듭니다.
ContactDto contactDto = new ObjectMapper().readValue(yourJSONString, ContactDto.class);