sping+spingmvc+maven图片上传服务器

    xiaoxiao2021-04-12  31

    步骤:

    1. 在pom.xml配置文件里加入图片上传的两个jar包。

    如:

     <dependency>

             <groupId>commons-fileupload</groupId>

             <artifactId>commons-fileupload</artifactId>

             <version>1.3.1</version>

         </dependency>

         <dependency>

             <groupId>commons-io</groupId>

             <artifactId>commons-io</artifactId>

             <version>2.4</version>

         </dependency> 

    2.在spingmvc的配置文件加入配置用来加载jar包和配置文件上传最大容量。如:

    <bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 

        <propertyname="defaultEncoding" value="utf-8"/> 

        <!-- 最大内存大小 --> 

        <property name="maxInMemorySize"value="10240"/> 

        <!-- 最大文件大小,-1为不限制大小 --> 

        <property name="maxUploadSize"value="-1"/> 

       </bean> 

    3.设置虚拟路径 编辑服务器根目录中 conf 中的server 文件 在<host>标签中加入

     <Context path="/pic"docBase="E:\aaa" debug="0" reloadable="true"/>

      注:在docBase 盘符中用的是 "\" ,否则图片回显的时候会出错,其中path指的是 虚拟路径的地址,docBase指的是映射地址。

    案例:

    (1)前端界面首先得先有图片上传的界面 这里我就简单的写了 

            其中enctype="multipart/form-data 必须得加

         <html>

         <head>

         </head>

         <body>  

    <form id="photo_upload"action="${pageContext.request.contextPath}/upload/file.do"            method="post"enctype="multipart/form-data">

             <input  type="file"name="items_pic" />

              <input type="submit"value="上传">

         </body>

         </html>

    2 )后台 controller

    @RequestMapping("/upload/file")

             public String photoSubmit(Modelmodel,HttpServletRequest request,MultipartFile items_pic) throws Exception {

      String originalFilename =items_pic.getOriginalFilename();

                       //上传图片

                       if(items_pic!=null &&originalFilename!=null && originalFilename.length()>0){

                            //存储图片的物理路径

                                String pic_path ="E:\\aaa\\";

                            //新的图片名称

                                String newFileName =UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));

                                //新图片

                                File newFile = newFile(pic_path+newFileName);

                                //将内存中的数据写入磁盘

                                items_pic.transferTo(newFile);

                                //将新图片名称写到itemsCustom对象中

                                itemsCustom.setPic(newFileName);

               }

    }

    至此整个图片上传的流程就完成了。如果要获取图片的,jsp页面中直接这样写:<img  src="pic/图片名">,其中pic是tomcat设置的虚拟路径。

    转载请注明原文地址: https://ju.6miu.com/read-667353.html

    最新回复(0)