SpringMVC上传图片或者文件后返回文件服务器地址路径并保存数据库

最近项目的一个需求,用户上传图片

前端先写一个表单:





Insert title here



        
我是添加一张临时图片得到微信的media_id保存数据库!
上传图片:
预览容器

这里要注意的点是  enctype="multipart/form-data" 这个表单的文件类型,决定后台入户接收参数

 action层接收文件处理:

/**
     * 资源文件上传,返回一个文件服务器地址
     * @author Libin
     * @date 2018年1月12日 上午10:28:08
     */
    @RequestMapping(value ="/fileUpload.jspx")
    public void uploadFileBackAddress(HttpServletRequest request, HttpServletResponse response) {
      try {
            MultipartFile multipartFile = null;
            if (request instanceof MultipartHttpServletRequest) {
                multipartFile = ((MultipartHttpServletRequest)request).getFile("uploadFile");
            }
            if (null != multipartFile) {
                /**
                 * 项目服务器地址路径
                 */
                String projectServerPath = request.getScheme() + "://"+request.getServerName()+":" +
                                request.getServerPort() + request.getContextPath() + "/upload/";
                /**
                 * 上传文件绝对路径
                 */
                String path = request.getSession().getServletContext().getRealPath("/WEB-INF/upload/");
                /**
                 * 上传文件名
                 */
                String fileName = makeFileName(multipartFile.getOriginalFilename());
                
                File file = new File(path + fileName);
                /**
                 * 判断路径是否存在,如果不存在就创建一个
                 */
                if (!file.getParentFile().exists()) { 
                    
                    file.getParentFile().mkdirs();
                }
                /**
                 * 创建文件
                 */
                multipartFile.transferTo(new File(path + File.separator + fileName));
                /**
                 * 返回服务器文件地址
                 */
                String serverFilePatn = projectServerPath + fileName;
               
            }
            
        }  catch (Exception e) {
            ajaxBackData = this.getAjaxBackDataExceptionStatus(e);
        }
       
    }

最后配置这个文件,但是我当时没有配置呢也可以,各位可以根据自己需求添加

springMVC配置文件:


    
    
        
        
        
    
    
    
    
        
        
        
        
        
    
   

你可能感兴趣的:(上传)