java操作minio最佳实践

public class MinioUtil {


	private static String minio_url;


	private static String minio_name;


	private static String minio_pass;


	private static String minio_bucketName;


	/**
	 * 
	 * @Title: uploadImage
	 * @Description:上传图片
	 * @param inputStream
	 * @param suffix
	 * @return
	 * @throws Exception
	 */
	public static JSONObject uploadImage(InputStream inputStream, String suffix) throws Exception {
		return upload(inputStream, suffix, "image/jpeg");
	}


	/**
	 * @Title: uploadVideo
	 * @Description:上传视频
	 * @param inputStream
	 * @param suffix
	 * @return
	 * @throws Exception
	 */
	public static JSONObject uploadVideo(InputStream inputStream, String suffix) throws Exception {
		return upload(inputStream, suffix, "video/mp4");
	}


	/**
	 * @Title: uploadVideo
	 * @Description:上传文件
	 * @param inputStream
	 * @param suffix
	 * @return
	 * @throws Exception
	 */
	public static JSONObject uploadFile(InputStream inputStream, String suffix) throws Exception {
		return upload(inputStream, suffix, "application/octet-stream");
	}


	/**
	 * 上传字符串大文本内容
	 * 
	 * @Title: uploadString
	 * @Description:描述方法
	 * @param str
	 * @return
	 * @throws Exception
	 */
	public static JSONObject uploadString(String str) throws Exception {
		if (!StringUtils.notNullAndEmpty(str)) {
			return new JSONObject();
		}
		InputStream inputStream = new ByteArrayInputStream(str.getBytes());
		return upload(inputStream, null, "text/html");
	}


	/**
	 * @Title: upload
	 * @Description:上传主功能
	 * @return
	 * @throws Exception
	 */
	private static JSONObject upload(InputStream inputStream, String suffix, String contentType) throws Exception {
		JSONObject map = new JSONObject();
		PropertiesLoader p = new PropertiesLoader("system.properties");
		minio_url = p.getProperty("minio_url");
		minio_name = p.getProperty("minio_name");
		minio_pass = p.getProperty("minio_pass");
		minio_bucketName = p.getProperty("minio_bucketName");
		MinioClient minioClient = new MinioClient(minio_url, minio_name, minio_pass);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
		String ymd = sdf.format(new Date());
		String objectName = ymd + "/" + UUID.randomUUID().toString() + (suffix != null ? suffix : "");
		minioClient.putObject(minio_bucketName, objectName, inputStream, contentType);
		String url = minioClient.getObjectUrl(minio_bucketName, objectName);
		map.put("flag", "0");
		map.put("mess", "上传成功");
		map.put("url", url);
		map.put("urlval", url);
		map.put("path", minio_bucketName + "/" + objectName);
		return map;
	}
}

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值