spring boot上传图片

一:首先要配置文件存放设置

spring:
 mvc:
    view:
      prefix: /WEB-INF/view/
      suffix: .jsp
    #文件映射路径
    static-path-pattern: /**

 datasource:
  driver-class-name: com.mysql.jdbc.Driver
  url: jdbc:mysql://127.0.0.1:3306/news?useUnicode=true&characterEncoding=UTF-8
  username: root
  password: zhengmeng001

#服务器文件存放路径
 resources:
    static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/itstyle/, file:/
 servlet:
 #上传文件大小限制
   multipart:
     max-request-size: 10MB
     max-file-size: 10MB






 

二:上传图片方法实现

 /**
     *  1.获取该上传的文件
     *  2.设置文件名
     *  3.设置存放路径
     *  4.写入文件
     *
     *  注意要加synchronized 保持线程同步
     *
     * @return
     * @throws IOException
     * @throws ServletException
     */
    @RequestMapping("/addNewsImage")
    @ResponseBody
    public synchronized ImageModel updataNewsImage() throws IOException, ServletException {

        System.out.println(request.getPart("file").toString());

        //1.获取该上传的文件
        //拿到该文件
        Part part = request.getPart("file");


        //获取上传的作者
        String username = request.getParameter("username");
        String titleId = request.getParameter("titleId");

        System.out.println("uusername = "+username);
        System.out.println("titleId = "+titleId);

        Random random = new Random();
        int i = random.nextInt(10000);


        /**
         * 2.设置文件名
         * 生成文件名,可以使用时间戳来命名,也可以自行命名
         */
        String fileName = Helper.getFileName()+i + ".jpg";
        System.out.println(fileName);


        //3.设置存放路径
        //文件存放的根目录
        String savePathRoot = "F:\\photo\\news";
        //每个新闻建立一个文件夹
        String savePath = savePathRoot + "\\" + titleId;

        //建立文件夹
        File file_root = new File(savePath);
        file_root.mkdir();

        
        //4.写入文件
        part.write(savePath + File.separator + fileName);


        String result_url = Constant.IMAGE_NEWS+titleId+"/"+fileName;
        System.out.println(result_url);

        //返回图片地址
        return new ImageModel(Constant.SUCESS,"上传成功",1,result_url);

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值