java web 图片上传功能

来源:互联网 发布:网络电视直播翡翠台 编辑:程序博客网 时间:2024/05/16 18:23

前几天做了一下图片上传  现在跟大家分享一下



步骤:

 
   1:首先准备环境  maven+ssm框架  eclipse  图片上传jar  
    
   2.在pom.xml 中加入


     <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> 


    3.在mvc的配置文件中加入   用来加载jar包和配置文件上传最大容量


     <bean id="multipartResolver"     


class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
    <property name="defaultEncoding" value="utf-8"/>  
    <!-- 最大内存大小 -->  
    <property name="maxInMemorySize" value="10240"/>  
    <!-- 最大文件大小,-1为不限制大小 -->  
    <property name="maxUploadSize" value="-1"/>  
    </bean>  


    4.设置虚拟路径  编辑服务器根目录中 conf 中的server 文件 在<host>标签中加入
  
      <Context path="/pic" docBase="E:\aaa" debug="0" reloadable="true"/> 
   
    注 在docBase 盘符中用的是 "\" ,否则图片回显的时候会出错  
    其中path指的是 虚拟路径的地址   docBase指的是映射地址




    5.以上主要的配置就完成了 现在可以来实现图片上传的功能了
      
   (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(Model model,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 = new File(pic_path+newFileName);

//将内存中的数据写入磁盘
items_pic.transferTo(newFile);

//将新图片名称写到itemsCustom中
itemsCustom.setPic(newFileName);

}
}


        
    (3)就是这样 图片长传的功能就全部写完了 


     







0 0
原创粉丝点击