• SpringBoot上传图片与回显


    上传初级

    添加依赖:

    <dependency>
    	<groupId>commons-io</groupId>
    	 <artifactId>commons-io</artifactId>
    	 <version>2.4</version>
    </dependency>
    <dependency>
    	 <groupId>commons-fileupload</groupId>
    	 <artifactId>commons-fileupload</artifactId>
    	 <version>1.3.1</version>
    </dependency>
    

    前台html代码

    <form action="/updateimg" method="post" enctype="multipart/form-data">
    
            <table border="1px solid red">
                <tr>
                    <td>文件1</td>
                    <td>
                        <input name="file" type="file"/>
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td>
                        <input type="submit" value="提交"/>
                    </td>
                </tr>
            </table>
    
        </form>
    

    后台 控制层代码

    @RequestMapping("updateimg")
        @ResponseBody
        public int UpdateImg(@RequestParam(value="file",required=false) MultipartFile[] file ) throws IOException {
            String s = editorImg.UploadImg(file);
            //注意这里我返回的是 上传成功后图片的名称
            System.out.println(s);
            //获得图片名字后存储到数据库中
            return mk_useService.UpdateUseImg(s);
        }
    

    封装的图片上传代码

    //普通的上传图片
        public String UploadImg(MultipartFile[] file) throws IOException {
            //定义序号
            int count=1;
            for (MultipartFile mf : file) {
                if(!mf.isEmpty()){
                    // 使用UUID给图片重命名,并去掉四个“-”
                    String name = UUID.randomUUID().toString().replaceAll("-", "");
                    // 获取文件的扩展名
                    String ext = FilenameUtils.getExtension(mf.getOriginalFilename());
                    // 设置图片上传路径
                    String url="D:/BaiduNetdiskDownload/";
                    //设置图片新的名字
                    String fileName=name+"."+ext;
                    // 以绝对路径保存重名命后的图片
                    File targeFile=new File(url,fileName);
                    mf.transferTo(targeFile);
                    // 把图片存储路径保存到数据库
                    return url+fileName;
                }
                count++;
            }
            return null;
        }
    

    配置图片存放的虚拟路径

    @Configuration
    public class MyWebConfigurer implements WebMvcConfigurer {
    
        //配置虚拟路径
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/img/**").addResourceLocations("file:D:/BaiduNetdiskDownload/");
        }
    }
    

    显示图片 上面我们把图片的url存放到数据库里面

    @RequestMapping("show")
        public String show(Model model)
        {
            List<Photo> all = PhotoService.findAll();
            model.addAttribute("list",all);
            return "index";
        }
    

    显示图片的html页面

    <table border="1px solid red" align="center">
        <tr>
            <th>头像</th>
        </tr>
        <tr th:each="a:${list}">
            <!--获取th里面的内容必须用th获取-->
            <td>
                <img th:src="${a.url}">
            </td>
        </tr>
    </table>
    

    进阶操作

    SpringBoot实现文件上传及下载
    SpringBoot 中大文件(分片上传)断点续传与极速秒传

    艾欧尼亚,昂扬不灭,为了更美好的明天而战(#^.^#)
  • 相关阅读:
    JEECG 不同(角色的)人对同样的字段数据,使用不同的字段验证规则
    CRM系统设计方案
    MySql concat与字符转义
    MYSQL 三元 函数
    Linux watchdog
    Prometheus & SoundCloud
    Docker存储驱动Device Mapper,Overlay,AUFS
    linux的nohup命令
    Eclipse Todo Tasks 任务试图
    Mysql drop function xxxx ERROR 1305 (42000): FUNCTION (UDF) xxxx does not exist
  • 原文地址:https://www.cnblogs.com/lovelywcc/p/15306304.html
Copyright © 2020-2023  润新知