在项目开发是用到使用springmvc实现图片上传到虚拟目录,实现图片上传到你指定的文件夹下面,实现图片上传到虚拟目录的方法:
1.在service.xml文件里面添加地址的映射
2.将上传图片的路径存放到你在service.xml配置文件里面配置的路径
3.编写上传图片的代码
4.在页面上引用图片
1.页面代码
- <div class="form-group">
- <label for="orderInfo" class="col-sm-2 control-label">Add Picture</label>
- <div class="col-md-1" style="width: 120px;">
- <a href="javascript:;" class="file"><i class="fa fa-picture-o"></i> Browser
- <input type="file" name="photo" id="up">
- <input type="hidden" id="ID" name="ID" value="">
- </a>
- </div>
2.后台代码
- package com.zipx.util.uploadImg;
- import java.io.File;
- import java.util.UUID;
- import org.springframework.web.multipart.MultipartFile;
- import com.zipx.util.Const;
- import com.zipx.util.Tools;
- /**
- * 基类实现图片的上传的功能
- * @author Bertram
- *
- */
- public class ImageUpload {
- //返回的是保存在数据库里面的图片的路径
- public static String uploadImg(MultipartFile photo){
- if (photo.getSize()!=0) {
- // 原始名称
- String originalname = photo.getOriginalFilename();
- // 上传图片
- if (photo != null && originalname != null && originalname.length() > 0) {
- try {
- // 设置保存路径
- String savePath=readImgUrl();
- System.out.println(savePath);
- // 判断文件路径是否存在
- File file = new File(savePath);
- if (!file.exists()) {
- file.mkdir();
- }
- // 新的图片名称
- String newFileName = UUID.randomUUID() + originalname.substring(originalname.lastIndexOf("."));
- // 新的图片
- File newFile = new File(savePath + "/" + newFileName);
- // 将文件写入磁盘
- photo.transferTo(newFile);
- return newFileName;
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- return "";
- }
- //读取图片的存放的路径
- private static String readImgUrl(){
- String saveImgUrl = Tools.readTxtFile(Const.SAVEIMGURL);
- return saveImgUrl;
- }
- }
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}"/>
效果图