[SPRING] Spring MVC를 사용하여 서버 디렉토리에 파일 업로드
SPRINGSpring MVC를 사용하여 서버 디렉토리에 파일 업로드
클라이언트 컴퓨터에서 서버 디렉터리에 파일을 업로드하려고합니다. 다음 코드를 사용했습니다.
FileUpload.jsp
<form:form commandName="fileUpload" action="upload.action" method="post" enctype="multipart/form-data">
<form:label path="fileData">Upload a File</form:label> <br />
<form:input type="file" path="fileData" />
<input type="submit" value="upload" >
</form:form>
내 컨트롤러 :
@RequestMapping("/upload.action")
public String upload(@ModelAttribute("fileUpload") FileUpload fileUpload,HttpServletResponse response,Model model)
{
CommonsMultipartFile multipartFile = fileUpload.getFileData();
String orginalName = multipartFile.getOriginalFilename();
String filePath = "/my_uploads/"+orginalName;
File destination = new File(filePath);
String status ="success";
try {
multipartFile.transferTo(destination);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
status="failure";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
status="iofailure";
}
model.addAttribute("status", status);
return "home";
}
FileUpload.java :
{
private CommonsMultipartFile fileData;
....
}
NullPointerException이 줄에서 throw됩니다. String orginalName = multipartFile.getOriginalFilename (); .. 내가 뭘 잘못 했니 ??
해결법
-
==============================
1.요청 핸들러에 MultipartFile을 매개 변수로 추가하십시오.
요청 핸들러에 MultipartFile을 매개 변수로 추가하십시오.
@RequestMapping("/upload.action") public String upload(@RequestParam(value = "file") MultipartFile file, HttpServletResponse response,Model model) { //Controller logic... }
이렇게하려면 운영자의 구성에 새 빈을 등록해야합니다.
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="5000000"/> </bean>
-
==============================
2.
@RequestMapping("/upload.action") public String upload(@RequestParam("fileData") MultipartFile file, HttpServletResponse response,Model model) { //Controller logic... }
요청 핸들러 메소드의 매개 변수에 같은 이름을 지정해야합니다. 매개 변수에 있어야하는 multipartFile ( "fileData")의 FileUpload Pojo에서 지정한 것과 동일해야합니다.
감사,
from https://stackoverflow.com/questions/14101558/file-upload-to-server-directory-using-spring-mvc by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 원격 PropertySource (0) | 2019.02.20 |
---|---|
[SPRING] 스프링 데이터 mongodb 및 kotlin을 사용하여 개체를 업데이트하는 중입니다. (0) | 2019.02.20 |
[SPRING] 대량 할당 문제를 해결하는 방법 : 불안정한 바인더 구성 (API Abuse, Structural) in java (0) | 2019.02.20 |
[SPRING] Spring이 디버그 정보없이 매개 변수 이름을 얻는 방법 (0) | 2019.02.20 |
[SPRING] FlatFileItemReader 및 청크를 사용하여 CSV에서 빈 줄을 건너 뛰는 방법 (0) | 2019.02.20 |