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

来源:互联网 发布:尔雅网络通识课程 编辑:程序博客网 时间:2024/06/07 01:08

步骤:

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设置的虚拟路径。



1 0
原创粉丝点击