本地读取文件上传 阿里OSS存储

、、、
public class OSSUploadUtils {

//你的oss所在域
public static  String endpoint = "oss-cn-chengdu.aliyuncs.com";
//密匙keyId
public static  String accessKeyId = "";
//密匙keySecret
public static  String accessKeySecret = "";
//你的bucketName
public static  String bucketName = "";


/**
 * 字节类型上传  返回OSS地址
 * @param fileUrl
 * @param fileName
 * @return
 */
public static String upload(String fileUrl,String fileName ) {

//hutool 工具的file工具类 读取文件转换字节
    byte[] fileByte  = FileUtil.readBytes(fileUrl);
    if(fileByte==null){
        log.info("获取文件流失败!!!!"+ LocalDateTimeUtil.now());
        return null;
    }else{
        OSS oss = new OSSClient(endpoint,accessKeyId,accessKeySecret);
        // 设置存储空间的访问权限为私有。
        String url = null;
        // 创建oss实例
        if (!oss.doesBucketExist(bucketName)) {
            oss.createBucket(bucketName);
        }
        boolean flag = oss.doesBucketExist(bucketName);

        if (!flag)
            oss.createBucket(bucketName);
        oss.setBucketAcl(bucketName, CannedAccessControlList.PublicReadWrite);
        // 默认文件名
        if (fileName == null || "".equals(fileName)) {
            fileName = UUID.randomUUID().toString().trim().replaceAll("-", "");
        }
        try {
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, fileName, new ByteArrayInputStream(fileByte));
            // 上传字符串。
            oss.putObject(putObjectRequest);
			//组装阿里OSS文件访问地址
            url = "https://" +bucketName +"."+ endpoint  + "/" + fileName;
            return url;
        } catch (Exception e) {
            return null;
        } finally {
            oss.shutdown();
        }
    }

}

}

你可能感兴趣的:(阿里云,java,腾讯云)