zoukankan      html  css  js  c++  java
  • Java Spring Boot 上传文件和预览文件地址解析

        @RequestMapping(value ="/upload",method = RequestMethod.POST)
        @Permission(isAjax=false)
        public String Upload(HttpServletRequest request, HttpServletResponse response,@RequestParam("files") MultipartFile[] files) {
    List<String> fileurl=new ArrayList<String>();
    try {
           if(files.length>0){
                String uploaddir="d:/upload/2017-12-18/";
                File dir=new File(uploaddir);
                if(!dir.exists()){
                    dir.mkdirs();
                }
                for(MultipartFile file :files){
                    if(!file.isEmpty()){
                        String suffix=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
                        String filename=String.format("%s%s", UUID.randomUUID().toString(),suffix);
                        File fileinfo=new File(String.format("%s%s", uploaddir,filename));
                        FileUtils.writeByteArrayToFile(fileinfo, file.getBytes());    
                        String url=String.format("/2017-12-18/%s", filename);
                        fileurl.add(url);
                    }
                }
              }
    //
    fileurl 图片地址清单
            } catch (IOException e) { 

    }
    }

    下面是图片预览地址的解析方法

    @Controller
    public class HomeController {
    
        private final ResourceLoader resourceLoader;
    
        @Autowired
        public HomeController(ResourceLoader resourceLoader) {
            this.resourceLoader = resourceLoader;
        }
    
        @RequestMapping(method = RequestMethod.GET, value = "/{yyyy}-{MM}-{dd}/{filename:.+}")
        @ResponseBody
        public ResponseEntity<?> getFile(@PathVariable String yyyy, @PathVariable String MM, @PathVariable String dd, @PathVariable String filename) {
            try {
                return ResponseEntity.ok(resourceLoader.getResource(
                        "file:" + Paths.get("d:/upload/" + yyyy+"-"+MM+"-"+dd + "/", filename).toString()));
            } catch (Exception e) {
                return ResponseEntity.notFound().build();
            }
        }
    
    }

    访问图片地址为:http://localhost:8080/2017-12-18/956f293b-876e-4347-9fae-29ac290f357b.jpg

    可以直接访问jar包以外,上传的文件、图片

  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/icyhoo/p/8058868.html
Copyright © 2011-2022 走看看