Spring mvc上传图片到本地服务器
2016-06-02 22:53
459 查看
首先配置在tomcat配置一个虚拟目录,作为上传图片的服务器
spring mvc的基本配置
加入需要的jar包
jsp页面或者html页面
cotroller
//图片上传controller@Controller
public class UpLoadPicController {
@Resource(name=”upLoadPicService”)
private UpLoadPicService upLoadService;
@RequestMapping("/pic/upload") @ResponseBody public String upLoadPic(MultipartFile uploadFile){ //火狐浏览器不完全兼容kinderEditor Map result=upLoadService.picUpLoad(uploadFile); String resultJson=JsonUtils.objectToJson(result); return resultJson; }
}
Service代码实现
package com.taotao.service.impl;import java.io.File;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Map;
import org.joda.time.DateTime;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.taotao.service.UpLoadPicService;
import com.taotao.util.IDUtils;
@Service(“upLoadPicService”)
public class UpLoadPicServiceImpl implements UpLoadPicService{
@Override public Map picUpLoad(MultipartFile multipartFile) { Map resultMap=new HashMap();//图片上传后的返回值 不用定义pojo了 //图片名称 String oldName=multipartFile.getOriginalFilename(); String newName=IDUtils.getImageName(); newName=newName+oldName.substring(oldName.lastIndexOf(".")); //保存图片的地址 String datePath=new DateTime().toString("\\yyyy\\MM\\dd"); // Joda jar利用日期格式在分类 \2016\6\2 String urldatepath=new DateTime().toString("/yyyy/MM/dd"); String saveFilePath="K:\\develop\\upload\\picture"+datePath; //本地物理路径 /* 构建文件目录 */ File fileDir = new File(saveFilePath); if (!fileDir.exists()) { fileDir.mkdirs(); } try { FileOutputStream out = new FileOutputStream(saveFilePath + "\\" + newName); //从本地文件 // 写入文件 out.write(multipartFile.getBytes()); out.flush(); out.close(); resultMap.put("error",0); resultMap.put("url", "http://localhost:8080/pic"+urldatepath+"/"+newName); return resultMap; } catch (Exception e) { resultMap.put("error",1); resultMap.put("message", "文件上传错误"); return resultMap; } }
}
说明
因为前台页面是easyUI编写,都是些ajax请求,页面组装的数据也多为json数据格式 大家可以忽略相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- springmvc 发送ajax出现中文乱码的解决方法汇总
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- 详解Java的MyBatis框架和Spring框架的整合运用
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- Spring Bean基本管理实例详解