首页 > 编程 > Java > 正文

Java实现的图片上传工具类完整实例

2019-11-26 11:05:07
字体:
来源:转载
供稿:网友

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》及《Java数据结构与算法教程》。

希望本文所述对大家java程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表