zoukankan      html  css  js  c++  java
  • spring mvc图片上传

    1、编写页面;页面如果采用from表单,必须给类型 enctype="multipart/form-data";建议使用VUE

    <form enctype="multipart/form-data" method="post">

    做个简单处理,有图显示无图上传

    <tr>
                    <td>图片</td>
                    <td>
                        <c:if test="${item.pic !=null}">
                            <img src="/pic/${item.pic}" width=100 height=100/>
                            <br/>
                        </c:if>
                        <input type="file"  name="pictureFile"/> 
                    </td>
                </tr>

    2、在springmvc的配置文件中配置文件上传

    <!-- 上传图片配置实现类 id不变-->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 上传图片的大小 B-->
            <property name="maxUploadSize" value="500000"/>
        </bean>

    3、controller中接收图片简单处理(例子直接写在这里了)

    这里需要用到两个工具包  commons-fileupload-1.2.2.jar      commons-fileupload-1.2.2.jar

    这里xml配置的 CommonsMultipartResolver 是 MultipartFile 的实现类 ;实际上是通过spring实例化了一个文件上传的工具类;用它的接口调用完成我们的操作

    @RequestMapping(value = "/updateitem.action")
        public String updateItem(MultipartFile pictureFile, QueryVo Vo) throws IllegalStateException, IOException {
            // 图片重命名
            String name = UUID.randomUUID().toString().replaceAll("-", ".");
            // 通过工具包获取后缀
            String ext = FilenameUtils.getExtension(pictureFile.getOriginalFilename());
            //保存图片
            pictureFile.transferTo(new File("F:\upload\" + name + "." + ext));
            //图片名称更新到数据库
            Vo.getItems().setPic(name + "." + ext);
            Integer status = itemService.updateItem(Vo.getItems());
            if (status > 0) {
                return "redirect:/itemEdit.action?id=" + Vo.getItems().getId();
                // forward
            } else {
                return "editItem";
            }
        }

     4、通过ip+端口号+pic+name访问需要配置一个虚拟服务简单的贴个图STS中图片虚拟服务配置

    挺简单的注意的就是

    1、配置图片上传的实现类的时候id别写错了,
    2、form表单一定要提交格式 enctype="multipart/form-data" 并且为post

  • 相关阅读:
    项目中遇到的css问题(随手笔记)
    vue项目启动时突然出现漏洞错误(!未解决)
    vue项目本地启动,ip出现500错误
    vue项目安装vconsole的时候出现的bug
    在码云上创建项目
    npm 遇到的坑
    脚手架方式搭建vue项目
    从码云上下载react项目并配置成可运行状态
    ibatis-dynamic的用法
    struts2中s:select标签的使用
  • 原文地址:https://www.cnblogs.com/404code/p/10655542.html
Copyright © 2011-2022 走看看