aliyun 对象存储oos及视频点播

一.对象存储

1.准备

阿里云官网:https://www.aliyun.com/?spm=5176.12818093.nav-right.dofficial.488716d0lAQiWy

1.1 充几毛钱就行

在这里插入图片描述

1.2找到对象存储oos

在这里插入图片描述

1.3 免费开通,进入管理控制台,获取keyId和keySecret

在这里插入图片描述

1.4 创建bucket(拿到bucketName和Endpoint)

在这里插入图片描述
上述步骤可以拿到以下参数

		String endpoint =PropertiesUtils.END_POINT;
        String accessKeyId = PropertiesUtils.KEY_ID;
        String accessKeySecret = PropertiesUtils.KEY_SECRET;
        String bucketName = PropertiesUtils.BUCKET_NAME;

1.5 上传文件至对象存储oss(代码实现)

@Service
public class OssServiceImpl implements OssService {
    @Override
    public String uploadFile(MultipartFile file) {
        String endpoint =PropertiesUtils.END_POINT;
        String accessKeyId = PropertiesUtils.KEY_ID;
        String accessKeySecret = PropertiesUtils.KEY_SECRET;
        String bucketName = PropertiesUtils.BUCKET_NAME;
        String url=null;
        try {
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
            InputStream inputStream = file.getInputStream();
            String fileName = file.getOriginalFilename();
            ossClient.putObject("mario-plus", fileName, inputStream);
            ossClient.shutdown();
            url = "https://"+bucketName+"."+endpoint+"/"+fileName;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return url;
    }
}

上述代码,通过endpoint, accessKeyId, accessKeySecret三个参数获取OSS对象,使用oss对象调用putObject( )方法上传文件,上传成功后需要自行组装url
url = “https://”+bucketName+"."+endpoint+"/"+fileName;
通过该url可以直接显示或下载文件

二. 视频点播

先踩一个坑:
上传视频的时候,需要阿里的一个依赖 aliyun-sdk-vod-upload,但是该jar并没有开源,所以要手动下载导入到maven仓库中才能正常使用
附上地址:https://help.aliyun.com/document_detail/51992.html?spm=a2c4g.11186623.6.1029.2dab6cecZfMGvO
在这里插入图片描述
导入jar进maven仓库参考 https://blog.csdn.net/m0_46701838/article/details/106136831 注意版本

上述解压过程同时会拿到上传视频参考文件
在这里插入图片描述

2.1 上传视频

@Test
    public void test(){
        UploadVideoRequest request = new UploadVideoRequest(keyId, keySecret, "fileName", filePath);
        request.setPartSize(2 * 1024 * 1024L);
        request.setTaskNum(1);
        UploadVideoImpl uploader = new UploadVideoImpl();
        UploadVideoResponse response = uploader.uploadVideo(request);
        System.out.print("RequestId=" + response.getRequestId() + "\n");  //请求视频点播服务的请求ID
        if (response.isSuccess()) {
            System.out.print("VideoId=" + response.getVideoId() + "\n");
        } else {
            /* 如果设置回调URL无效,不影响视频上传,可以返回VideoId同时会返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因 */
            System.out.print("VideoId=" + response.getVideoId() + "\n");
            System.out.print("ErrorCode=" + response.getCode() + "\n");
            System.out.print("ErrorMessage=" + response.getMessage() + "\n");
        }
    }

2.2 点播视频

参考官网开发文档:https://help.aliyun.com/document_detail/61063.html?spm=a2c4g.11186623.6.909.1aaa24d8qlLJN0

初始化(获取DefaultAcsClient对象)

	    //使用AccessKey初始化,获取到client对象
        String regionId ="cn-shanghai";
        DefaultProfile profile = DefaultProfile.getProfile(regionId,keyId, keySecret);
        DefaultAcsClient client = new DefaultAcsClient(profile);

根据视频id获取播放地址

		GetPlayInfoRequest request = new GetPlayInfoRequest();
        request.setVideoId("cf45f43797b044cb834743ff0d1dd82d");//视频id
        GetPlayInfoResponse response = client.getAcsResponse(request);
        List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList();
        //播放地址
        for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) {
            System.out.print("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");
        }
        //Base信息
        System.out.print("VideoBase.Title = " + response.getVideoBase().getTitle());
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要使用Java上传图片到阿里云OSS对象存储服务),您可以按照以下步骤进行操作: 1. 首先,您需要在阿里云上创建一个OSS存储桶(Bucket),并获取到访问密钥(Access Key ID和Access Key Secret)以及Endpoint(地域节点)信息。 2. 在Java项目中添加阿里云OSS SDK的依赖。您可以通过Maven添加以下依赖项: ```xml <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.9.0</version> </dependency> ``` 3. 在代码中引入必要的类和包: ```java import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.model.PutObjectRequest; import com.aliyun.oss.model.PutObjectResult; ``` 4. 创建OSSClient对象,并配置Endpoint、Access Key ID和Access Key Secret: ```java String endpoint = "your_endpoint"; String accessKeyId = "your_access_key_id"; String accessKeySecret = "your_access_key_secret"; OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); ``` 请将"your_endpoint"、"your_access_key_id"和"your_access_key_secret"替换为您的实际信息。 5. 构造上传文件的请求,并执行上传操作: ```java String bucketName = "your_bucket_name"; String objectName = "your_object_name"; String filePath = "your_local_file_path"; PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath)); PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest); ``` 请将"your_bucket_name"、"your_object_name"和"your_local_file_path"替换为您的实际信息。 6. 关闭OSSClient: ```java ossClient.shutdown(); ``` 这样,您就可以使用Java上传图片到阿里云OSS了。希望对您有所帮助!如有任何问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值