java图片上传服务器

386 阅读1分钟

前端上传图片,需要后台保存至服务器,返回图品地址

    public String imageUpload(@RequestParam("file") MultipartFile[] file, HttpServletRequest request) throws IllegalStateException, IOException {
        List<String> list = new ArrayList<>();
        request.setCharacterEncoding("utf-8");
         if(file!=null&&file.length>0){
        //循环获取file数组中得文件
            for(int i = 0;i<file.length;i++){
                MultipartFile files = file[i];
                //保存文件
                String imageurl = ImageUpload(files);
                list.add(imageurl);
            }
         }
        return JsonResponseUtils.success("成功",list);
    }


    public String ImageUpload(MultipartFile file)
            throws IllegalStateException, IOException{
        String savePaths ="";
        if (file!=null) {// 判断上传的文件是否为空
            String type=null;// 文件类型
            String fileName=file.getOriginalFilename();// 文件原名称
            //System.out.println("上传的文件原名称:"+fileName);
            // 判断文件类型
            type = fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null;
            if (type!=null) {// 判断文件类型是否为空
                if ("GIF".equals(type.toUpperCase())||"PNG".equals(type.toUpperCase())||"JPG".equals(type.toUpperCase())) {
                // 项目在容器中实际发布运行的根路径
                 String realPath="/www/wwwroot/ghs.wyxflm.com";
                // 自定义的文件名称
                String trueFileName="/images/"+String.valueOf(System.currentTimeMillis())+"."+type; //15312196403485.jpg“
                // 设置存放图片文件的路径
                String path=realPath+trueFileName;
                 // 转存文件到指定的路径
                File f = new File(path);
                 file.transferTo(f);
                 savePaths =trueFileName;
                }else {
                System.out.println("不是我们想要的文件类型,请按要求重新上传");
                return null;
                 }
            }else {
             System.out.println("文件类型为空");
             return null;
             }
         }else {
         System.out.println("没有找到相对应的文件");
         return null;
        }
        return savePaths;
    }