[SPRING] MultipartException : 현재 요청이 다중 요청이 아닙니다.
SPRINGMultipartException : 현재 요청이 다중 요청이 아닙니다.
나는 파일을 업로드하는 데 안성맞춤 인 컨트롤러를 만들려고 노력하고있다. 나는 이것을 보았다. 이 컨트롤러를 만들었습니다 :
@RestController
public class MaterialController {
@RequestMapping(value="/upload", method= RequestMethod.POST)
public String handleFileUpload(
@RequestParam("file") MultipartFile file){
String name = "test11";
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
BufferedOutputStream stream =
new BufferedOutputStream(new FileOutputStream(new File(name + "-uploaded")));
stream.write(bytes);
stream.close();
return "You successfully uploaded " + name + " into " + name + "-uploaded !";
} catch (Exception e) {
return "You failed to upload " + name + " => " + e.getMessage();
}
} else {
return "You failed to upload " + name + " because the file was empty.";
}
}
}
그런 다음 우편 발송자를 사용하여 pdf를 보냈습니다.
그러나 서버가 다음 오류로 인해 충돌합니다.
.MultipartException: Current request is not a multipart request
다시 나는 이것을 발견하고 bean.xml 파일을 추가했다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>
</beans>
불행하게도, 그것은 여전히 같은 오류로 불평합니다.
해결법
-
==============================
1.멀티 파트 요청에 우편 게시자를 사용하는 경우 머리글에 사용자 지정 Content-Type을 지정하지 마십시오. 따라서 우편 배달부의 헤더 탭은 비어 있어야합니다. 우편 배달부는 양식 데이터 경계를 결정합니다. 우편 배달부의 본문 탭에서 양식 데이터를 선택하고 파일 유형을 선택해야합니다. https://github.com/postmanlabs/postman-app-support/issues/576에서 관련 토론을 찾을 수 있습니다.
멀티 파트 요청에 우편 게시자를 사용하는 경우 머리글에 사용자 지정 Content-Type을 지정하지 마십시오. 따라서 우편 배달부의 헤더 탭은 비어 있어야합니다. 우편 배달부는 양식 데이터 경계를 결정합니다. 우편 배달부의 본문 탭에서 양식 데이터를 선택하고 파일 유형을 선택해야합니다. https://github.com/postmanlabs/postman-app-support/issues/576에서 관련 토론을 찾을 수 있습니다.
-
==============================
2.서버에 대한 요청이 다중 부분 요청이 아닌 것 같습니다. 기본적으로 클라이언트 측 양식을 수정해야합니다. 예 :
서버에 대한 요청이 다중 부분 요청이 아닌 것 같습니다. 기본적으로 클라이언트 측 양식을 수정해야합니다. 예 :
<form action="..." method="post" enctype="multipart/form-data"> <input type="file" name="file" /> </form>
희망이 도움이됩니다.
-
==============================
3.나는 또한 multipart에 대한 우편 배달부와 같은 문제에 직면했다. 다음 단계를 수행하여 문제를 해결했습니다.
나는 또한 multipart에 대한 우편 배달부와 같은 문제에 직면했다. 다음 단계를 수행하여 문제를 해결했습니다.
그것은 나를 위해 일했습니다.
-
==============================
4.application.properties에 다음을 추가하십시오.
application.properties에 다음을 추가하십시오.
spring.servlet.multipart.max-file-size=128KB spring.servlet.multipart.max-request-size=128KB spring.http.multipart.enabled=false
html 형식에서는 : enctype = "multipart / form-data"가 필요합니다. 예 :
<form method="POST" enctype="multipart/form-data" action="/">
희망이 도움이!
-
==============================
5.ARC (고급 휴식 클라이언트) - 작동하도록 아래 명시하십시오. Content-Type multipart / form-data (헤더 이름과 헤더 값) 이렇게하면 양식 데이터를 키와 값으로 추가 할 수 있습니다. 이제 REST 사양에 따라 필드 이름을 지정하고 파일 선택기에서 업로드 할 파일을 선택할 수 있습니다.
ARC (고급 휴식 클라이언트) - 작동하도록 아래 명시하십시오. Content-Type multipart / form-data (헤더 이름과 헤더 값) 이렇게하면 양식 데이터를 키와 값으로 추가 할 수 있습니다. 이제 REST 사양에 따라 필드 이름을 지정하고 파일 선택기에서 업로드 할 파일을 선택할 수 있습니다.
from https://stackoverflow.com/questions/42013087/multipartexception-current-request-is-not-a-multipart-request by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 어떻게 thymeleaf를 사용하여 두 가지 객체를 하나의 양식으로 전달할 수 있습니까? (0) | 2019.03.14 |
---|---|
[SPRING] 스프링 빈에 매개 변수를 동적으로 전달하는 방법 (0) | 2019.03.14 |
[SPRING] 내 사용자 지정 HTTP 헤더를 Spring RestTemplate 요청에 추가 / RestTemplate 확장 (0) | 2019.03.14 |
[SPRING] 요소 "context : component-scan"에 대한 접두어 "context"는 바인딩되지 않습니다. (0) | 2019.03.14 |
[SPRING] Spring이 다중 컨텍스트를 사용하여 통합 테스트 클래스를 autowire하는 방법 (0) | 2019.03.14 |