第一次接触 linux 服务器,做图片上传的时候遇到了些坑,搞了些天总算成功了,记录一下

/**
* 上传图片
*
* @param request
* @param file
* @return
*/
@RequestMapping(value = "uploadImg", method = RequestMethod.POST)
@ResponseBody
public String uploadImg1(HttpServletRequest request, MultipartFile file) {
Gson gson = new Gson();
List<String> pathList = new ArrayList<String>();
String pic_path;
if (null != file) {
// 文件原名称
String myFileName = file.getOriginalFilename();
String fileName = UUID.randomUUID().toString() + "." + myFileName.
substring(myFileName.lastIndexOf(".") + 1);
try {
String tomcat_path = System.getProperty("user.dir");
//获取tomcat中项目同级路径
String bin_path = tomcat_path.substring(tomcat_path.lastIndexOf("/") + 1, tomcat_path.length());
if (("bin").equals(bin_path)) {
pic_path = tomcat_path.substring(0, System.getProperty("user.dir").lastIndexOf("/")) + "/webapps" + "/upload" + "/uploadImg/";
} else {
pic_path = tomcat_path + "/webapps" + "/upload" + "/uploadImg/";
}
logger.info("上传图片的路径:" + pic_path + fileName);
File fileDir = new File(pic_path + fileName);
//如果不存在 则创建
if (!fileDir.exists()) {
fileDir.mkdirs();
}
// 将内存中的数据写入磁盘
file.transferTo(fileDir);
//图片路径 ip:端口/upload/uploadImg/图片名 pathList.add(ImgConstant.ACCESS_IMAGE_URL + fileName);
            return gson.toJson(pathList);
} catch (IllegalStateException e) {
logger.error("图片上传错误", e);
} catch (IOException e) {
logger.error("图片上传错误", e);
}
} else {
System.out.println("上传内容为空!");
}
return gson.toJson(pathList);
}

最新文章

  1. 复习(2)【postman,charles,filezilla server】
  2. 【C#】【Thread】Barrier任务并行
  3. install graph-tool
  4. c++中的数据类型
  5. nginx和tomcat实现反向代理、负载均衡和session共享
  6. h.SSL协议栈整体分解
  7. 巧用ViewPager 打造不一样的广告轮播切换效果
  8. json对象的处理
  9. 想好了,我不学iOS和Android,有4个原因
  10. 页面加载的时候自动的执行js代码
  11. strcpy函数
  12. cpu_relax
  13. Allegro16.6 PCB 导入DXF 外框后曲线不闭合
  14. 洛谷P4689 [Ynoi2016]这是我自己的发明 [莫队]
  15. 设计模式之单例模式-C++
  16. jsp 静态引入&lt;%@ include %&gt; 动态引入&lt;jsp:include&gt; 区别
  17. SVD(6.5.1定理证明观察3)
  18. win7 配置Windows Update 失败,还原更改,无法进入系统
  19. Appium之打开应用时提示框处理
  20. Java如何实现按指定行读取文件

热门文章

  1. python中map函数和reduce函数的区别
  2. 03 - Jmeter用户自定义变量CSV参数化以及断言的设置
  3. securecrt(CRT)导入会话
  4. maven 配置阿里云中央仓库
  5. jsp页面注册验证问题
  6. 微信支付公众号支付redirect_uri域名与后台配置不一致,错误码10003
  7. BZOJ 1683.City skyline 城市地平线
  8. ADC(简易的DMA传输)的认识
  9. JS 函数 学习笔记
  10. jq鼠标移入移除