при извлечении файла из spring form
Я получаю значение null
, и если я попробую этот код для остальной части полей, я имею в виду, что multipart input types
работает нормально. во время отладки я получаю значение null
из строки. Если я попытаюсь извлечь image
из существующей папки i'e изображения под webapp и этот url способен отображать изображение в браузере, но не способен читать значение из files
с помощью браузера и извините за мой плохой английский
изменить, если я прокомментирую код изображения, приложение работает нормально, но когда я представляю код для изображения, я получаю сообщение об ошибке
MultipartFile file = domain.getImage(); //this is getting null
это релевантный код контроллер
@RequestMapping(value = "/form", method = RequestMethod.GET)
public String formInputGet(Model model) {
model.addAttribute("domain", new Domain());
return "form";
}
@RequestMapping(value = "/form", method = RequestMethod.POST)
public String formInputPost(@ModelAttribute("domain") Domain domain, HttpServletRequest httpServletRequest) {
MultipartFile file = domain.getImage();
if (image== null)
throw new NullPointerException("unable to fetch "+file); //getting NPE everytime
String rootDirectory = httpServletRequest.getSession().getServletContext().getRealPath("/");
if (domain.getImage() != null && !domain.getImage().isEmpty())
try {
File path = new File(rootDirectory + "images\\" + domain.getFirstName() + ".png");
file.transferTo(path);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
repositiry.addToList(domain);
return "redirect:/";
}
form.jsp
<form:form modelAttribute="domain" enctype="multipart/form-data">
First Name<br>
<form:input path="firstName" />
<br>Last Name :<br>
<form:input path="lastName" />
<br>upload Image<br>
<form:input path="image" type="file" />
<hr>
<input type="submit">
</form:form>
DispatcherServlet
<mvc:annotation-driven />
<mvc:resources location="/images/" mapping="/images/**" />
<context:component-scan base-package="com" />
<bean id="multipartReslover"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10240000" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/" />
<property name="suffix" value=".jsp" />
</bean>
Я добавил дополнительный код, чтобы найти, получаю ли я domain
, поскольку null
стал true. И у меня нет идеи, как это решить.
после добавления проверки на файл я получаю ошибку
java.lang.NullPointerException: unable to fetch : null
domain.java
public class Domain {
private String firstName;
private String lastName;
private MultipartFile image;
//getters and setters
ПРИМЕЧАНИЕ любой полезный ответ, если он имеет другой способ работы, тоже приветствуется:)
любая помощь приветствуется, спасибо:)