SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库
@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 上传图片保存到服务器 同时更改图片名称保存至数据库相关推荐
- Excel批量更改图片名称(无需下载其他工具)
1.先批量更改图片名称 方法:选中所有图片,进行重命名 2. 新建txt,命名去括号,然后将下列代码保存到此txt(这一步为了去括号,bat文件无法识别括号) @Echo Off&SetLoc ...
- commons-fileupload 上传图片路径到mysql_上传图片到服务器并将图片路径保存到数据库...
首先需要准备两个包:commons-io-2.2.jar和commons-fileupload-1.3.3.jar doPost: protected void doPost(HttpServletR ...
- php上传图片到远程服务器并返回图片地址到本地显示
本示例将演示一个简单的上传图片到远程服务器,然后生成图片路径后通过提交的回调路径返回给本地服务器,最后将图片地址显示在前端页面. 本项目应用三个文件,即前端选取图片的页面,然后提交图片到远程服务器处理 ...
- Python学习-批量提取图片名称保存至txt文件
个人微信公众号:AI研习图书馆,欢迎关注~ 深度学习知识及资源分享,学习交流,共同进步~ Python提取图片名称保存到txt文件 1. 环境 Windows7+Anaconda3+python 3. ...
- python爬取网站图片链接并保存,Python爬取网站图片并保存的实现示例
先看看结果吧,去bilibili上拿到的图片=-= 第一步,导入模块 import requests from bs4 import BeautifulSoup requests用来请求html页面, ...
- python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...
- img显示保存在服务器中的图片,img显示服务器图片不显示
img显示服务器图片不显示 内容精选 换一换 训练模板分类模型后,需要对模板分类器和模板图片进行评估和考察.您可以通过上传测试图片,在线评估模板分类情况和模板的文字识别情况,保证能在多个模板情况下正确 ...
- python爬取一张图片并保存_python爬取网页图片并保存到本地
先把原理梳理一下:首先我们要爬取网页的代码,然后从中提取图片的地址,通过获取到的地址来下载数据,并保存在文件中,完成. 下面是具体步骤: 先确定目标,我挑选的是国服守望先锋的官网的英雄页面,我的目标是 ...
- java将图片放进mysql中_在java代码中怎么从服务器上把图片拿来放到数据库里
展开全部 看你用的是么数据库,一般是读取后转e68a84e8a2ad3231313335323631343130323136353331333431346430成二进制blob格式存入数据库的BLOB ...
最新文章
- 卷积神经网络--CNN
- 万能的Python,不仅能开发效率高,还能绘画各种漫画图像
- iOS推送小结--swift语言
- 位运算 中度难度 子集
- Java中快速处理集合_简洁又快速地处理集合——Java8 Stream(上)
- 平板电脑可以插u盘吗_有手机还需要平板电脑吗 酷比魔方iplay30平板电脑评测
- 关于使用jquery修改hover伪标签的样式
- 图文结合,白话Go的垃圾回收原理
- Codewars-Javascript训练手册:Date 对象
- 关于用iframe大框架覆盖小框架的问题
- 2022牛客寒假算法基础集训营4 签到题7题
- 代码生成器集合(整理)
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
- centos 卸载 jdk
- 正则表达式案例分析 (二)
- 服务器显示叹号DASD,ibm system x3850 x5服务器DASD亮橙色灯怎么处理
- input中加入搜索图标
- CDR2021安装教程 CorelDRAW 2021完整版下载
- css绘制星星闪烁,web前端炫酷特效-CSS3制作环形星星发光动画
- 南昌航空大学计算机专业好吗,南昌航空大学王牌专业是什么
热门文章
- 需要显卡还是cpu_玩游戏卡顿,帧数低,是该升级显卡,还是升级cpu?
- webview 模拟点击_Android如何基于坐标对View进行模拟点击事件详解
- linux path_lookup,Linux虚拟文件系统(4)-- 路径名查找
- linux基本命令示例_Linux mv命令用法和示例
- Java 11:字符串类中的新方法
- Java文件类– java.io.File
- 如何检查CentOS版本– 8种方法
- action中的动态方法调用
- 开课吧:适合开发人工智能应用的编程语言有哪些?
- Java面试题:热情盛夏,分享Java大厂面试百题