Не удалось обработать детали, так как не была предоставлена конфигурация нескольких деталей, даже при существующем multipartResolver

Я пытаюсь реализовать загрузку объекта photo и String. Вот объявление моего метода.

@RequestMapping(method = RequestMethod.PUT, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public @ResponseBody ResponseEntity<UserWithPhoto> update(@RequestHeader(value="Access-key") String accessKey,
                                         @RequestHeader(value="Secret-key") String secretKey,
                                         @RequestPart("user") String string,
                                         @RequestPart("photo") MultipartFile file) throws Exception

и это мой мульти часть сельсин

<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <beans:property name="maxUploadSize" value="10000000" />
 </beans:bean>

и я понятия не имею, почему я получаю

java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided

2 ответов


Я всегда обертываю составные файлы в POJO с другими необходимыми свойствами:

public class FileUpload {

   private Long id;
   private MultipartFile file;

   // getters and setters
}

на мой взгляд:

<spring:url value="/myEndpoint" var="url_upload"/>
<form:form method="POST" enctype="multipart/form-data" commandName="fileUpload" action="${url_upload}" >

    <form:hidden path="id" />
    <input type="file" name="file" id="inputFile"/>

    <input type="submit" value="Upload" />
</form:form>        

и в конечной точке:

@RequestMapping(value = "/myEndpoint", method = RequestMethod.POST)
public String uploadFile(@ModelAttribute("fileUpload") FileUpload dto, Model uiModel) {
    // Process file
}

попробуйте добавить этот код блока в свою конфигурацию:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/index" />
        <property name="suffix" value=".jsp" />
</bean>

и загрузите свою конфигурацию в интернете.в XML