Filtrar filtro para obtener el archivo MultipartFile

Después de usar el parámetro arg0 en el filtro doFilter para obtener el HttpServletRequest, obtenga el archivo MultipartFile Después de buscar, muchas personas dicen que se puede usar este método

El método común en Internet, el pequeño editor prueba que el tamaño de las partes es 0 y no se puede acceder al archivo.

@Override
protected void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws ServletException, IOException {
    
    
HttpServletRequest request = (HttpServletRequest) arg0;
    Collection<Part> parts = request.getParts();
    for (Part part : parts) {
    
    
        if (part.getContentType() != null && part.getSize() > 0) {
    
    
            String fileName = part.getSubmittedFileName();
            InputStream inputStream = part.getInputStream();
            // do something with the file
        }
    }
}

Entonces, a través de la operación de depuración, se descubrió que MultipartFile existe en HttpServletRequest, pero en su subclase DefaultMultipartHttpServletRequest, finalmente intentó usar este método para obtener el contenido del archivo.

método factible

@Override
protected void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws ServletException, IOException {
    
    
    DefaultMultipartHttpServletRequest defaultMultipartHttpServletRequest = (DefaultMultipartHttpServletRequest) arg0;
                Set<Map.Entry<String, MultipartFile>> entries = defaultMultipartHttpServletRequest.getFileMap().entrySet()
               
                for (Map.Entry<String, MultipartFile> entry : entries) {
    
    
                //文件参数名称
                    String fileParmsName = entry.getKey();
                    //文件
                    MultipartFile value = entry.getValue();
                    //文件名称
                    String fileName = value.getName();
                    }
                }
}

Supongo que te gusta

Origin blog.csdn.net/qq_46645840/article/details/130847470
Recomendado
Clasificación