springboot+layui文件上传组件实现文件上传和删除

前言:

项目中时常会遇到文件上传功能,针对这一功能做一个笔记,以便于自己回顾,写的不好请谅解!!!!

*注:此处只有上传和删除功能,如果要在上传后在线预览PDF请参考另一篇博客:

前端代码:

上传插件用的是layui的文件上传插件。

html:

js:

后端代码:

Java:

@RequestMapping("/uploadFile.json")
    @ResponseBody
    public Result uploadFile(@RequestParam("file") MultipartFile file){
        if (file.isEmpty()){
            return Result.fail("文件为空!");
        }
        //获取文件名
        String originalFilename = file.getOriginalFilename();
        //新文件名  时间戳+文件名
        String filename = System.currentTimeMillis()+"_"+originalFilename;
        //获取路径
        String path = getPath();
        //创建新的文件
        File fileMkdir = new File(path+"\\"+filename);
        if (!fileMkdir.exists()){
            fileMkdir.mkdir();
        }
        try {
            //写入文件
            file.transferTo(fileMkdir);
            Map data = new HashMap<>();
            return Result.success("上传成功!",filename);
        } catch (IOException e) {
            e.printStackTrace();
            return Result.fail("上传失败!");
        }
    }

    /**
     * 删除文件
     */
    @RequestMapping("/delFile.json")
    @ResponseBody
    public Result delFile(@RequestParam("filename") String filename){
        Result result = deleteFileByName(filename);
        return result;
    }


    private Result deleteFileByName(String filename) {
        String path = getPath();
        File file = new File(path);
        if (!file.exists()){
            return Result.fail("该文件不存在!");
        }
        if (file.isFile()){
            return Result.fail("该文件是目录!");
        }else {
            File[] files = file.listFiles();
            for (File f: files) {
                if (filename.equals(f.getName())){
                    f.delete();
                    return Result.success("删除成功!",null);
                }
            }
        }
        return Result.fail("该文件不存在!");
    }

    /**
     * 获取存储路径
     */
    private String getPath(){
        //获取当前项目路径
        String c = System.getProperty("user.dir");
        //设置文件存储路径
        return c+"\\src\\main\\resources\\file"+"\\";
    }

演示效果:

springboot+layui文件上传组件实现文件上传和删除_第1张图片

 

添加后结果:

springboot+layui文件上传组件实现文件上传和删除_第2张图片

 

你可能感兴趣的:(Layui,文件上传,java,spring,boot)