반응형
테스트를 하다보니 MockMultipartFile이 제대로 동작하지 않아 아래 소스의 도움을 받아서 구현함
File file = new File("/path/to/file");
FileItem fileItem = new DiskFileItem("mainFile", Files.probeContentType(file.toPath()), false, file.getName(), (int) file.length(), file.getParentFile());
try {
InputStream input = new FileInputStream(file);
OutputStream os = fileItem.getOutputStream();
IOUtils.copy(input, os);
// Or faster..
// IOUtils.copy(new FileInputStream(file), fileItem.getOutputStream());
} catch (IOException ex) {
// do something.
}
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
https://stackoverflow.com/questions/16648549/converting-file-to-multipartfile
이클립스오류발생참고
ㅇ FileItem과 DiskFileItem이 import 되었으나 이클립스 최상단에서 아래와 같이 오류가 발생하였으며, 사용 부분에서도 오류가 발생함
I'm trying to make a POST request with a MultipartFile. First I want to convert a File into a MultipartFile:The type org.apache.commons.fileupload.FileItem cannot be resolved. It is indirectly referenced from required .class files
parent pom파일에 등록되어 있는 내용이었으나, pom.xml에도 넣어줘야지 오류없이 이클립스에서 동작했음
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
반응형