springmvc图片上传到虚拟目录

时间:2022-04-21 12:23:05

在项目开发是用到使用springmvc实现图片上传到虚拟目录,实现图片上传到你指定的文件夹下面,实现图片上传到虚拟目录的方法:

1.在service.xml文件里面添加地址的映射

2.将上传图片的路径存放到你在service.xml配置文件里面配置的路径

3.编写上传图片的代码

4.在页面上引用图片


 1.页面代码


  1.    <div class="form-group">
  2.              <label for="orderInfo" class="col-sm-2 control-label">Add Picture</label>
  3.                                                 
  4.                       <div class="col-md-1" style="width: 120px;">
  5.                                  <a href="javascript:;" class="file"><i class="fa fa-picture-o"></i> Browser
  6.                                        <input type="file" name="photo" id="up">
  7.                                       <input type="hidden" id="ID" name="ID" value="">
  8.                                  </a>
  9.                         </div>

2.后台代码


  1. package com.zipx.util.uploadImg;

  2. import java.io.File;
  3. import java.util.UUID;
  4. import org.springframework.web.multipart.MultipartFile;
  5. import com.zipx.util.Const;
  6. import com.zipx.util.Tools;
  7. /**
  8.  * 基类实现图片的上传的功能
  9.  * @author Bertram
  10.  *
  11.  */
  12. public class ImageUpload {
  13.     
  14.     //返回的是保存在数据库里面的图片的路径
  15.     
  16.     public static String uploadImg(MultipartFile photo){
  17.         
  18.         if (photo.getSize()!=0) {
  19.             // 原始名称
  20.             String originalname = photo.getOriginalFilename();
  21.             // 上传图片
  22.             if (photo != null && originalname != null && originalname.length() > 0) {
  23.                 try {
  24.                 // 设置保存路径
  25.                 String savePath=readImgUrl();
  26.                 System.out.println(savePath);
  27.                 // 判断文件路径是否存在
  28.                 File file = new File(savePath);
  29.                 if (!file.exists()) {
  30.                     file.mkdir();
  31.                 }
  32.                 // 新的图片名称
  33.                 String newFileName = UUID.randomUUID() + originalname.substring(originalname.lastIndexOf("."));
  34.                 // 新的图片
  35.                 File newFile = new File(savePath + "/" + newFileName);
  36.                 // 将文件写入磁盘
  37.                 photo.transferTo(newFile);
  38.                 
  39.                   return newFileName;
  40.                 } catch (Exception e) {
  41.                     e.printStackTrace();
  42.                 }

  43.             }
  44.         }
  45.         

  46.         return "";
  47.     }
  48.     
  49.     
  50.     
  51.     //读取图片的存放的路径
  52.     private static  String readImgUrl(){
  53.         String saveImgUrl = Tools.readTxtFile(Const.SAVEIMGURL);
  54.         return saveImgUrl;
  55.     }
  56. }


3.虚拟目录的配置

在tomcat 的service.xml文件<host></host>标签里面添加


<Context docBase="E:\zipx\upload" path="/upload" reloadable="true" source="org.eclipse.jst.jee.server:Zipx"/>

docBase是虚拟目录

4.访问时写


<img style="width:150px;height:80px;padding-right:10px;position: relative;" src="/upload/${orderPic.PicPath}"/>


效果图

springmvc图片上传到虚拟目录

springmvc图片上传到虚拟目录