package com.gcloud.common;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
/**
* 图片上传工具类
* Created by charlin on 2017/9/10.
*/
public class UploadImageUtil {
private String fileType;
private Long maxSize;
private Long width;
private Long height;
public UploadImageUtil() { }
public UploadImageUtil(String fileType, Long maxSize, Long width, Long height) {
this.fileType = fileType;
this.maxSize = maxSize;
this.width = width;
this.height = height;
}
/**
* 检查上传图像大小
*
* @param upload
* @param uploadFileName
* @param uploadContentType
* @return
*/
public String checkUploadImage(File upload, String uploadFileName, String uploadContentType) {
try {
if (fileType != null) {
String[] fileTypes = fileType.split(",");
int count = 0;
for (int i = 0; i < fileTypes.length; i++) {
if (uploadContentType.equals(fileTypes[i])) {
count++;
continue;
}
}
if (count == 0) {
return "您上传的文件类型不对!";
}
}
BufferedImage bi = ImageIO.read(upload);
int w = bi.getWidth();
int h = bi.getHeight();
if (w > width || h > height) {
return "上传照片宽度和高度不符合要求";
}
if (upload.length() > maxSize) {
return "上传照片过大";
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 图片上传
*
* @param upload
* @param uploadFileName
* @param path
* @return
* @throws Exception
*/
public void uploadImage(File upload, String uploadFileName, String path) throws Exception {
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(upload);
File f = new File(path);
if (!f.exists()) f.mkdirs();
os = new FileOutputStream(path + "/" + uploadFileName);
byte buffer[] = new byte[1024];
int count = 0;
int flag = 0;
while ((count = is.read(buffer)) > 0) {
os.write(buffer, 0, count);
}
} catch (FileNotFoundException e) {
} catch (IOException e) {
File f = new File(path + "/" + uploadFileName);
if (f.exists()) {
f.delete();
}
} finally {
try {
os.close();
is.close();
} catch (IOException ioe) {
}
}
}
/**
* 清除文件
* @param path
*/
public void clear(String path) {
File file = new File(path);
if (file.isFile() && file.exists()) {
file.delete();
}
}
public String getFileType() {
return fileType;
}
public void setFileType(String fileType) {
this.fileType = fileType;
}
public Long getMaxSize() {
return maxSize;
}
public void setMaxSize(Long maxSize) {
this.maxSize = maxSize;
}
public Long getWidth() {
return width;
}
public void setWidth(Long width) {
this.width = width;
}
public Long getHeight() {
return height;
}
public void setHeight(Long height) {
this.height = height;
}
}
—————————————————————————————————————————————————–
java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万
下载地址:
https://item.taobao.com/item.htm?id=562739965822
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
01内容详情:
—————————————————————————————————————————————————–