Java上传阿里云OSS图片

import com.obs.services.ObsClient;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;

public class OssUploadUtil {
	public static String endPoint = "*********";
	public static String accessKeyId = "*********";
	public static String accessKeySecret = "*********";
	public static String bucketName = "*********";
	public static String oss_domain = "*********";
	// 创建ObsClient实例
	public static ObsClient obsClient = new ObsClient(accessKeyId, accessKeySecret, endPoint);

	public static String ossUpload(HttpServletRequest request,MultipartFile file) throws IOException{
		//CommonsMultipartFile file = (CommonsMultipartFile)multipartFile;
		String fileName = "";
		if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){
			InputStream content = file.getInputStream();//获得指定文件的输入流
			com.obs.services.model.ObjectMetadata meta = new com.obs.services.model.ObjectMetadata();// 创建上传Object的Metadata
			meta.setContentLength(file.getSize());  // 必须设置ContentLength
			String originalFilename = file.getOriginalFilename();
			fileName =  UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
			obsClient.putObject(bucketName,fileName,content,meta);// 上传Object.
			if(fileName != null && !"".equals(fileName)){
				System.out.println(fileName);
				fileName = oss_domain+fileName;
			}
		}
		return fileName;
	}

	/**
	 * 删除某个Object
	 * @param bucketUrl
	 * @return
	 */
	public static boolean deleteObject(String bucketUrl) {
		try {
			bucketUrl=bucketUrl.replace(oss_domain+"web","");
			// 删除Object.
			obsClient.deleteObject(bucketName, bucketUrl);
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		} finally {
			//ossClient.shutdown();
		}
		return true;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值