后台系统图片上传与jsp页面显示

1.配置springmvc.xml的配置文件

 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
          p:defaultEncoding="utf-8"
          p:maxUploadSize="21474836480"
    >
    </bean>

1.设置默认字符编码

 p:defaultEncoding="utf-8"

2.设置最大上传大小 单位默认为b 这里是20g

 p:maxUploadSize="21474836480"

注意不要漏掉id 否则jsp页面传值报错误。

2.前端表单

<form action="updateFile" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file" value="" />
    <input type="submit" value="上传文件"/>
</form>

注意 不要漏掉enctype=“multipart/form-data” 否则传值报错

3.控制器层

@RequestMapping("/add")
    public String add(Goods goods, @RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
    
    
        //读取服务器里面的存放文件文件夹的路径
        String path = request.getSession().getServletContext().getRealPath("img");
        System.out.println(path);
        // oos云盘
        File f = new File(path);
        if (!f.exists()) {
    
    
            f.mkdirs();
        }
        String uuid = UUID.randomUUID().toString();
        File f1 = new File(path + "/" + uuid + file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."), file.getOriginalFilename().length()));
        f1.createNewFile();
        FileCopyUtils.copy(file.getBytes(), f1);
        goods.setUrl(path + "/" + uuid + file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."), file.getOriginalFilename().length()));
        goods.setFilename(file.getOriginalFilename());
        goods.setUrls("/img/" + uuid + file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."), file.getOriginalFilename().length()));
        //设置默认商品图片路由
        goods.setGood_img("/img/" + uuid + file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."), file.getOriginalFilename().length()));
        goodsService.add(goods);
        return "redirect:/goods/list";
    }

4.jsp页面显示

 <img src="${pageContext.request.contextPath}${e.good_img}"/>

只需项目路由和图片路由即可

猜你喜欢

转载自blog.csdn.net/weixin_46591962/article/details/109533674