zoukankan      html  css  js  c++  java
  • SpringMVC图片上传与显示

    
    @RestController
    @Scope("prototype")
    @RequestMapping("/xxxx/xxx/main")
    public class JobPicControl {
        
        @Autowired
        private xxxService xxxService;/** 
         * @description 上传图片
         * @param file
         * @param request
         * @return 
         */
        @RequestMapping(value = "/base/xxx/upload", method = RequestMethod.POST)
        public String uploadMap(@RequestParam(value = "file", required = false) MultipartFile file, 
                @RequestParam(value = "xxx", required = false) String xxx, HttpServletRequest request) {
            Response response = new Response();
            if (file.isEmpty()) {
                return "文件上传失败,请重试";
            } else {
                System.out.println("========================================");
                System.out.println("文件长度: " + file.getSize());
                System.out.println("文件类型: " + file.getContentType());
                System.out.println("文件名称: " + file.getName());
                System.out.println("文件原名: " + file.getOriginalFilename());
                System.out.println("========================================");
            }
            String filePath = "/fileLibrary/jobTypePics/";
            String realPath = request.getSession().getServletContext().getRealPath(filePath);
            
            String fileNewName = xxx+ ".jpg"; 
            System.out.println("fileNewName:"+fileNewName);
            
            //保存  
            try {  
                //这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的  
                FileUtils.copyInputStreamToFile(file.getInputStream(), new File(realPath, fileNewName));
                 
            } catch (Exception e) {  
                e.printStackTrace();
                return response.failure("更新图失败,请重试").toSimpleResult();
            } 
            
           return "成功";
            
        }
    
        
        /** 
         * @description 流的方式得到图片
         * @param request
         * @param httpResponse 
         */
        @RequestMapping(value = "/base/xxx/getPic", method = RequestMethod.GET)
        public void getMapPic1(@RequestParam(value = "iconUrl", required = false) String jobIconUrl,HttpServletRequest request,HttpServletResponse httpResponse) {
            String realPath = request.getSession().getServletContext().getRealPath(iconUrl);
            String filePath = realPath;
            System.out.println("filePath:"+filePath);
            File file = new File(filePath);
            FileInputStream fis = null;
            try {
                
                httpResponse.setContentType("image/gif");
                OutputStream out = httpResponse.getOutputStream();
                fis = new FileInputStream(file);
                byte[] b = new byte[fis.available()];
                
                fis.read(b);
                out.write(b);
                out.flush();
            } catch (Exception e) {
                 e.printStackTrace();
            } finally {
                if (fis != null) {
                    try {
                       fis.close();
                    } catch (IOException e) {
                    e.printStackTrace();
                    }   
                 }
            }
        }
    
        
    }
  • 相关阅读:
    配置VRRP主备功能
    网络拓扑实例02:MSTP功能
    网络拓扑实例01:RSTP功能
    配置PoE交换机功能
    交换机基于接口划分VLAN(汇聚层设备作为网关)
    交换机基于接口划分VLAN(接入层设备作为网关)
    配置交换机Trunk接口流量本地优先转发(集群/堆叠)
    配置交换机之间直连链路聚合-LACP模式
    配置交换机之间直连链路聚合-手工模式
    配置交换机接口二三层切换
  • 原文地址:https://www.cnblogs.com/haimishasha/p/6834068.html
Copyright © 2011-2022 走看看