@RequestMapping("upload")
public void upload(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request,HttpServletResponse response, ModelMap model){
System.out.println("开始");
// String filepath=OtoPropertites.get("filepatch");
String path = request.getSession().getServletContext().getRealPath("/upload");//图片上传路径

String fileName = file.getOriginalFilename();
String sname = fileName.substring(fileName.lastIndexOf("."));
String uuid = UUID.randomUUID().toString();
String kzS=".jpg";//图片后缀名
if(sname.equals("")){
kzS=sname;
}
String newfileName = uuid+sname;
System.out.println(path);
File targetFile = new File(path, newfileName);
if(!targetFile.exists()){
targetFile.mkdirs();
}
try {
file.transferTo(targetFile); //保存
} catch (Exception e) {
e.printStackTrace();
}
String fileUrl= request.getContextPath()+"/upload/"+newfileName;
System.out.print(request.getContextPath());
Map m=new HashMap();
m.put("d", fileUrl);//图片路径
System.out.println();
if(!sname.equals(".PNG")&&!sname.equals(".png")){
ImageUtils.scaleWithWidth(path+"/"+newfileName,600,false);
}

this.responseMsg(response, Object2Json.bean2Json2(m));//转JSON 返回到前台

}

/**
* 按宽度值等比例缩放
* @param srcImageFile
* @param scale
* @param flag
*/
public final static void scaleWithWidth(String srcImageFile,
int tmpwidth, boolean flag) {
try {
BufferedImage src = ImageIO.read(new File(srcImageFile)); // 读入文件
int width = src.getWidth(); // 得到源图宽
int height = src.getHeight(); // 得到源图长
float scale =width/tmpwidth;
int ewidth=width;
int eheight=height;
if (flag) {// 放大
ewidth = (int)(width * scale);
eheight =(int)(height * scale);
} else {// 缩小
if(width>tmpwidth){
ewidth = (int)(width / scale);
eheight = (int)(height / scale);
}
}
Image image = src.getScaledInstance(ewidth, eheight,
Image.SCALE_DEFAULT);
BufferedImage tag = new BufferedImage(ewidth, eheight,
BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(image, 0, 0, null); // 绘制缩小后的图
g.dispose();
ImageIO.write(tag, "JPEG", new File(srcImageFile));// 输出到文件流
} catch (IOException e) {
e.printStackTrace();
}
}

转载于:https://www.cnblogs.com/hqhouse/p/5260717.html

SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库相关推荐

  1. Excel批量更改图片名称(无需下载其他工具)

    1.先批量更改图片名称 方法:选中所有图片,进行重命名 2. 新建txt,命名去括号,然后将下列代码保存到此txt(这一步为了去括号,bat文件无法识别括号) @Echo Off&SetLoc ...

  2. commons-fileupload 上传图片路径到mysql_上传图片到服务器并将图片路径保存到数据库...

    首先需要准备两个包:commons-io-2.2.jar和commons-fileupload-1.3.3.jar doPost: protected void doPost(HttpServletR ...

  3. php上传图片到远程服务器并返回图片地址到本地显示

    本示例将演示一个简单的上传图片到远程服务器,然后生成图片路径后通过提交的回调路径返回给本地服务器,最后将图片地址显示在前端页面. 本项目应用三个文件,即前端选取图片的页面,然后提交图片到远程服务器处理 ...

  4. Python学习-批量提取图片名称保存至txt文件

    个人微信公众号:AI研习图书馆,欢迎关注~ 深度学习知识及资源分享,学习交流,共同进步~ Python提取图片名称保存到txt文件 1. 环境 Windows7+Anaconda3+python 3. ...

  5. python爬取网站图片链接并保存,Python爬取网站图片并保存的实现示例

    先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSoup requests用来请求html页面, ...

  6. python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...

    本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...

  7. img显示保存在服务器中的图片,img显示服务器图片不显示

    img显示服务器图片不显示 内容精选 换一换 训练模板分类模型后,需要对模板分类器和模板图片进行评估和考察.您可以通过上传测试图片,在线评估模板分类情况和模板的文字识别情况,保证能在多个模板情况下正确 ...

  8. python爬取一张图片并保存_python爬取网页图片并保存到本地

    先把原理梳理一下:首先我们要爬取网页的代码,然后从中提取图片的地址,通过获取到的地址来下载数据,并保存在文件中,完成. 下面是具体步骤: 先确定目标,我挑选的是国服守望先锋的官网的英雄页面,我的目标是 ...

  9. java将图片放进mysql中_在java代码中怎么从服务器上把图片拿来放到数据库里

    展开全部 看你用的是么数据库,一般是读取后转e68a84e8a2ad3231313335323631343130323136353331333431346430成二进制blob格式存入数据库的BLOB ...

最新文章

  1. 卷积神经网络--CNN
  2. 万能的Python,不仅能开发效率高,还能绘画各种漫画图像
  3. iOS推送小结--swift语言
  4. 位运算 中度难度 子集
  5. Java中快速处理集合_简洁又快速地处理集合——Java8 Stream(上)
  6. 平板电脑可以插u盘吗_有手机还需要平板电脑吗 酷比魔方iplay30平板电脑评测
  7. 关于使用jquery修改hover伪标签的样式
  8. 图文结合,白话Go的垃圾回收原理
  9. Codewars-Javascript训练手册:Date 对象
  10. 关于用iframe大框架覆盖小框架的问题
  11. 2022牛客寒假算法基础集训营4 签到题7题
  12. 代码生成器集合(整理)
  13. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
  14. centos 卸载 jdk
  15. 正则表达式案例分析 (二)
  16. 服务器显示叹号DASD,ibm system x3850 x5服务器DASD亮橙色灯怎么处理
  17. input中加入搜索图标
  18. CDR2021安装教程 CorelDRAW 2021完整版下载
  19. css绘制星星闪烁,web前端炫酷特效-CSS3制作环形星星发光动画
  20. 南昌航空大学计算机专业好吗,南昌航空大学王牌专业是什么

热门文章

  1. 需要显卡还是cpu_玩游戏卡顿,帧数低,是该升级显卡,还是升级cpu?
  2. webview 模拟点击_Android如何基于坐标对View进行模拟点击事件详解
  3. linux path_lookup,Linux虚拟文件系统(4)-- 路径名查找
  4. linux基本命令示例_Linux mv命令用法和示例
  5. Java 11:字符串类中的新方法
  6. Java文件类– java.io.File
  7. 如何检查CentOS版本– 8种方法
  8. action中的动态方法调用
  9. 开课吧:适合开发人工智能应用的编程语言有哪些?
  10. Java面试题:热情盛夏,分享Java大厂面试百题