O DispatcheserServlet deve ser explicitamente informado de como lidar com o multíparizador.
Springmvc fornece as seguintes maneiras de fazer upload de arquivos
Configure xxx-servlet.xml e adicione o seguinte código:
A cópia do código é a seguinte:
<bean id = "multipartresolver"
class = "org.springframework.web.multipart.commons.commonsmultipartresolver">
<!-Defina o tamanho máximo dos arquivos enviados como 1 MB->
<propriedade name = "maxuploadSize">
<Value> 1048576 </valor>
</propriedade>
</ Bean>
A cópia do código é a seguinte:
<bean id = "multipartresolver"
class = "org.springframework.web.multipart.commons.commonsmultipartresolver">
<!-Defina o tamanho máximo dos arquivos enviados como 1 MB->
<propriedade name = "maxuploadSize">
<Value> 1048576 </valor>
</propriedade>
</ Bean>
Observe que o tamanho do arquivo aqui é realmente apenas para que o tamanho total do arquivo
Se você configurar o tamanho do arquivo, acha que precisa configurar o controle de informações de exceção
Portanto, é necessário configurar a exibição anormal
A cópia do código é a seguinte:
Er
<!-Esta exceção foi lançada pelo SpringMVC ao verificar informações de arquivo enviadas e não inseriu o método do controlador no momento->
<bean id = "ExceptionResolver"
>
<propriedade name = "ExceptionMappings">
<Dors>
<!-Ao encontrar uma exceção MaxuploadSizeExcedEdException, ele automaticamente pulará automaticamente para/web-inf/jsp/error_fileupload.jsp página->
<prop
key = "org.springframework.web.multipart.maxuploadsizeexcedException"> error_fileupload </ppo>
</sils>
</propriedade>
</ Bean>
A cópia do código é a seguinte:
Er
<!-Esta exceção foi lançada pelo SpringMVC ao verificar informações de arquivo enviadas e não inseriu o método do controlador no momento->
<bean id = "ExceptionResolver"
>
<propriedade name = "ExceptionMappings">
<Dors>
<!-Ao encontrar uma exceção MaxuploadSizeExcedEdException, ele automaticamente pulará automaticamente para/web-inf/jsp/error_fileupload.jsp página->
<prop
key = "org.springframework.web.multipart.maxuploadsizeexcedException"> error_fileupload </ppo>
</sils>
</propriedade>
</ Bean>
Ou seja preguiçoso e não defina o tamanho, o valor padrão final é ilimitado. Se você precisar controlar as informações de retorno, considere retornar os dados de formato especificados no processamento de exceção, como JSON
Após a página de configuração, como sempre, adicione-a ao formulário: Enctype = "Multipart/Form-Data"
Depois, há ações que precisam ser processadas.
O primeiro método:
A cópia do código é a seguinte:
public String Login (@RequestParam MultipartFile File, Model Model) {
……………………
}
A cópia do código é a seguinte:
public String Login (@RequestParam MultipartFile File, Model Model) {
……………………
}
O nome do arquivo deve ser garantido para ser consistente com o valor do atributo em <Tipo de entrada = arquivo>.
A cópia do código é a seguinte:
public String Login (@Valid UserInfo UserInfo, BindingResult Result, @RequestParam MultipartFile [], Model Model) {
……………………
}
A cópia do código é a seguinte:
public String Login (@Valid UserInfo UserInfo, BindingResult Result, @RequestParam MultipartFile [], Model Model) {
……………………
}
Arquivo único pode ser omitido @requestparam vários arquivos não podem ser omitidos
O segundo método:
A cópia do código é a seguinte:
Public ModelAndView HandleRequest (solicitação httpServletRequest,
Resposta HttpServLetResponse) lança exceção {
// Transforme em multiparthttprequest:
MultiparthttpServletRequest multipartreCeSt = (multiparthttpServletRequest) solicitação;
// Obtenha o arquivo:
Arquivo multipartfile = multipartrequest.getfile ("arquivo");
}
A cópia do código é a seguinte:
Public ModelAndView HandleRequest (solicitação httpServletRequest,
Resposta HttpServLetResponse) lança exceção {
// Transforme em multiparthttprequest:
MultiparthttpServletRequest multipartreCeSt = (multiparthttpServletRequest) solicitação;
// Obtenha o arquivo:
Arquivo multipartfile = multipartrequest.getfile ("arquivo");
}
Dessa forma, você também pode obter o arquivo
De fato, a primeira configuração é adicionar dois pacotes JAR:
Commons-FileUpload -.2.2.Jar
Commons-io-2.1.jar