springboot存图片到本地并生成url/映射静态资源路径

导入模块

 <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.7</version>
        </dependency>

控制器接收

  //   批量添加书本图片
    @PostMapping("/addBookImages")
    public Boolean addBookImage(@RequestPart MultipartFile[] images) throws IOException {
        booksService.getImages(images);
    
        return null;
    }

保存图片并生成url

package com.bookstore.util;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

import static com.bookstore.util.FileToMultipartFile.fileToMultipartFile;

public class ImageManage {

    //    修改用户头像
    public static String saveHeadImage( MultipartFile image) throws IOException {
        String originalFilename = image.getOriginalFilename();
        String type = FileUtil.extName(originalFilename);
        // 定义一个文件唯一的标识码
        String fileUUID = IdUtil.fastSimpleUUID() + StrUtil.DOT + type;
        File uploadFile = new File("E:/毕设_网上书店/bookstore_static/images/headImage/" + fileUUID);
        System.out.println("uploadFile:"+uploadFile);
        // 上传文件到磁盘
            image.transferTo(uploadFile);
        // 数据库若不存在重复文件,则不删除刚才上传的文件
        String url = "http://localhost:9527/static/headImage/" + fileUUID;
        return url;
    }


    //    修改商品图片
    public static String saveCommomdityImage( MultipartFile image) throws IOException {
        String originalFilename = image.getOriginalFilename();
        String type = FileUtil.extName(originalFilename);
        System.out.println(type);
        if(type.equals(""))
            type="jpg";

        // 定义一个文件唯一的标识码
        String fileUUID = IdUtil.fastSimpleUUID() + StrUtil.DOT + type;
        File uploadFile = new File("E:/毕设_网上书店/bookstore_static/images/books/" + fileUUID);
        System.out.println("uploadFile:"+uploadFile);
        // 判断配置的文件目录是否存在,若不存在则创建一个新的文件目录
        File parentFile = uploadFile.getParentFile();
        if (!parentFile.exists()) {
            parentFile.mkdirs();
        }
        // 上传文件到磁盘
            image.transferTo(uploadFile);
        // 数据库若不存在重复文件,则不删除刚才上传的文件
        String url = "http://localhost:9527/static/books/" + fileUUID;
        return url;
    }


}


springboot映射静态资源路径(映射对应地址后才能用上面的url访问静态资源)


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

public class BookstoreApplication implements WebMvcConfigurer {

    public static void main(String[] args) {

        SpringApplication.run(BookstoreApplication.class, args);
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
//addResourceLocations:存放静态资源的路径    
//addResourceHandler:映射后的访问路径
        registry.addResourceHandler("/static/headImage/**").addResourceLocations("file:E:/毕设_网上书店/bookstore_static/images/headImage/");
        registry.addResourceHandler("/static/books/**").addResourceLocations("file:E:/毕设_网上书店/bookstore_static/images/books/");

    }
}

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值