ImageUtil
package com.rscode.credits.util; import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List; import org.apache.commons.io.FileUtils;
import org.springframework.web.multipart.MultipartFile;
/**
* 图片工具
* @author tn
* @RequestParam("file")CommonsMultipartFile file
*
*/ public class ImageUtil { private static List<String> image = new ArrayList<>(Arrays.asList("PNG","JPEG","JPG","GIF","BMP")); /**
* 上传图片文件(PNG,JPEG,JPG,GIF)
* @param file 文件
* @param imagePath 图片存储路径
* @return newFileNamePath返回文件的相对路径 (自定义目录/xx.jpg)
* return null 没有图片
* return erro 图片格式有误
* return excp 上传失败
* return 返回文件名
*/
public static String filePut(MultipartFile file,String imagePath){
//获取前端文件名
String fileName = file.getOriginalFilename();//获取上传文件的文件名
String end = fileName.substring(fileName.lastIndexOf(".")+1).toUpperCase();//判断图片后缀是否正确 if(file.isEmpty()){//fileName.equals("")||fileName==null
System.out.println("没有图片");
return null;
}else if(image.contains(end)){
String newFileName =new Date().getTime()+"."+end; // 新文件名 end后缀
File f = new File(imagePath);
if (!f.exists()) //服务器中文件不存在就创建
f.mkdirs();
if (!file.isEmpty()) { //文件不为空
try {
//保存文件
file.transferTo(new File(imagePath + newFileName));
} catch (Exception e) {
e.printStackTrace();
return "excp";
}
}
return newFileName;//返回图片新名字
} else { return "erro";
} } /**
* 到存放图片的文件夹下面删除图片
*
* @param fileName
* @return
*/
public static boolean fileDelete(String imagePath) {
if (imagePath == null) {
return false;
}
try {
//强制删除方法
FileUtils.forceDelete(new File(imagePath));
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
} // public static void main(String[] args) {
// imageUtil.fileDelete("C:\\Users\\en\\Desktop\\WORK\\Image\\activity\\b - 副本.jpg");
// }
}
ImageUtil的更多相关文章
- ImageUtil(验证码数据生成工具类)
登录界面时,常常会使用到验证码图片生成,程序如下: package util; import java.awt.Color; import java.awt.Font; import java.awt ...
- 二、工具类ImageUtil——图片处理
这个工具类完成的工作如下: 1.第一个static方法,完成图片格式的转换.统一转换成.jpg格式. package util; import java.awt.Toolkit; import jav ...
- Android ViewPager打造3D画廊
本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 网上有很多关于使用Gallery来打造3D画廊的博客,但是在关于Gallery的官方说法中表明: This cl ...
- Java 条形码 二维码 的生成与解析
Barcode简介 Barcode是由一组按一定编码规则排列的条,空符号,用以表示一定的字符,数字及符号组成的,一种机器可读的数据表示方式. Barcode的形式多种多样,按照它们的外观分类: Lin ...
- 一站式解决,Android 拍照 图库的各种问题.
在android开发中, 在一些编辑个人信息的时候,经常会有头像这么一个东西,就两个方面,调用系统相机拍照,调用系统图库获取图片.但是往往会遇到各种问题: 1.oom 2.图片方向不对 3.activ ...
- 获取img的真实宽高
之前项目后台上传图片时需要对图片的宽高做限制,一开始百度了之后使用js进行判断,可是这种方式存在一定问题,后来就改在后台判断了.现在吧这两种方式都贴出来. 一.用js获取: 先说第一个方法:obj.s ...
- 分享我的开源项目-springmore
之前有在博客园分享过springmore,不知道是什么原因,被管理员移除首页 在此郑重声明,这是我个人的开源项目,东西不多,也不存在打广告,也没有什么利益可图 完全是出于分享的目的,望博客园管理员予以 ...
- 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
- (转)百度编辑器java使用
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
随机推荐
- Cannot Connect to Database Server
好久没登数据库了,今天登陆时忽然要输入密码,然后一登结果就报了下图的错. 之前也发生过这种情况,但是重启服务就好了,这次重启后依然不行. 后来密码用root居然就登进去了,可是真不记得有改过密码 不知 ...
- 【调试基础】Part 2 文本字符
01 字节存储顺序 大端:低字节存在高地址,高字节存在低地址.eg:IBM: 小端:低字节存在低地址,高字节存在高地址.eg:INTEL: 02 字符集 ASCII:128=26小写 + 26大写 + ...
- 安装cmake 和 opencv 4.0.0
1.安装cmake3.5.1或更新的版本 安装gcc-c++:sudo apt-get install build-essential (或者直接执行这两条命令sudo apt-get install ...
- java-面向对象(公元2017-6-28)
1.面向对象 何为面向对象:编写程序的时候会提取相似的 特征,把这些相似的特征组织起来 类:相似的特征组织起来的类型. 泛指.可理解为模板 对象:属于类中的具体事物 ...
- axios 发送post请求的时候会发送两次
第一次发送的时候会先发送OPTIONS, 第二次才发送POST, 解决方法: 引用qs模块 安装qs依赖 npm install qs --save 引入qs依赖 import qs from 'qs ...
- unity中使用www的库读取数据里面的数据
//使用www的库,读取数据里面的数据 string factoryControllerUrl = "http://IP地址:8086/DatabaseServerCode/GangShan ...
- java实现二维码的生成.
目录 1.二维码概念 2.二维码发展历史 3.二维码分类 4.二维码优缺点 5.QR Code 1.二维码又称 二维条码 (2-dimensional bar code)是用某种特定的几何 ...
- nginx 日志打印post请求参数
在日志格式后面加上 $request_body 配置信息 log_format main '$remote_addr - $remote_user [$time_local] "$reque ...
- LeetCode 160 相交链表
题目: 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], li ...
- linux安装mysql(shell一键安装)
1. 相关文件(install_mysql.sh.my.cnf.mysqld相关内容在文中最后面) 2. 将上面的文件上传到linux服务器某一目录下 3.给install_mysql.sh赋执行权限 ...