03、springboot+security+vue个人博客系统之图片上传并回显

时间:2020-01-09
本文章向大家介绍03、springboot+security+vue个人博客系统之图片上传并回显,主要包括03、springboot+security+vue个人博客系统之图片上传并回显使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、导入上传图片所需要的依赖

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.5</version>
</dependency>

2、创建RespBean类,该类用来保存返回的信息

public class RespBean {
    private String status;
    private String msg;
    //get和set方法
}

3、书写图片上传的controller

private SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");

@RequestMapping("/upload")
public RespBean upload(HttpServletRequest request, MultipartFile image){
    StringBuffer url = new StringBuffer(); //存放返回url地址的容器
    String imagePath="/blogimg/"+sdf.format(new Date()); //图片的相对路径,格式:/blogimg/日期
    String realPath = request.getServletContext().getRealPath(imagePath); //获取项目的绝对路径
    File imageFolder = new File(realPath); //查看是否有该文件夹

    if (!imageFolder.exists()) { //如果不存在
        imageFolder.mkdirs(); //创建该文件夹
    }
    //如果存在,将图片的名称重新命名
     String imageName= UUID.randomUUID()+"_"+image.getOriginalFilename().replaceAll(" ", "");
    //获取返回的url
    url.append(request.getScheme()) //相当于http
            .append("://") //相当于http://
            .append(request.getServerName()) //相当于http://localhost
             .append(":")//相当于http://localhost:
             .append(request.getServerPort())//相当于http://localhost:8080
             .append(request.getContextPath()) //获取该tomcat容器的路径
            .append(imagePath); //相当于http://localhost:8080/项目容器/blogimage+日期

    try {
        IOUtils.write(image.getBytes(), new FileOutputStream(new File(realPath, imageName))); //存image图片到该realPath路径中
        url.append("/")//相当于http://localhost:8080/项目容器/blogimage+日期/
                .append(imageName);//相当于http://localhost:8080/项目容器/blogimage+日期/图片名称
        return new RespBean("success",url.toString()); //上传成功后返回图片地址
    } catch (IOException e) {
        e.printStackTrace();
    }

    return new RespBean("error","上传失败"); //上传成功后返回图片地址
}

4、使用postman进行测试

 

 

 

将服务器返回的链接放到浏览器中进行访问:

 

 

 

 

注意:postman中的header中不要包含任何东西

$flag 上一页 下一页

上一篇:hive

下一篇:ccf 20190302