这篇文章给大家分享的是有关Java怎么实现的图片上传工具类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
具体如下:
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怎么实现的图片上传工具类”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。