Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

MultipartResolver NullPointerException

Estou configurando, para que o Spring "cuide dele", ñ sei se é possivel, contudo consegui configura-lo no pom e no xml.

Por enquanto, só quero que apareça o caminho da imagem no console.

javax.servlet.ServletException: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

spring-context.xml

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
         <!-- one of the properties available; the maximum file size in bytes -->
         <property name="maxUploadSize" value="1000000" />

    </bean>
    <mvc:default-servlet-handler />

no Controller

@PostMapping("/value")
    public String upload(HttpServletRequest request) {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile multipartFile = multipartRequest.getFile("file");
        System.out.println(multipartFile.getOriginalFilename());
        return "redirect:/lista";
    }
5 respostas

Nilton, tudo bem?

Você teria o stack completo do erro?

Abraço!

Tranquilo, Segue o erro completo

https://gist.github.com/njguilhem2/be5ec6a8b44359b4ddac1fb6be467a27#file-gistfile1-txt

Tá dando NullPointer na sua classe ProdutosController na linha 43. Manda o código da ProdutosController, por favor

Tranquilo mestre, deixei marcado a linha 43 Acabei pegando como exemplo na aula de Spring, quando ele apenas mostra no console primeiro

package br.com.oncolor.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;

import br.com.oncolor.dao.ProdutoDao;
import br.com.oncolor.model.Produtos;


@Controller
public class ProdutosController {
    @Autowired
    private ProdutoDao produtoDao;

    @PostMapping("/adiciona-produto")
    @Transactional
    public ModelAndView gravar(MultipartFile file, Produtos produto) {
        System.out.println(file.getOriginalFilename());
        produtoDao.gravar(produto);
        return new ModelAndView("redirect:/lista");
    }
    @RequestMapping("/produtos")
    private String adiciona() {
        return "/produtos/adiciona";
    }
    @RequestMapping("/lista")
    private String lista() {
        return"/produtos/lista";
    }
    @PostMapping("/value")
    public String upload(HttpServletRequest request) {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile multipartFile = multipartRequest.getFile("file");
        --->>>System.out.println(multipartFile.getOriginalFilename());<<<---linha 43
        return "redirect:/lista";
    }
}
solução!

Perdão mestre achei o erro, estava na jsp estava lendo file, sendo q estava escrito "Flle" ...