1.导入pom 注意最后的vod-upload 参考我的   将Vod集成到Maven

com.aliyun

aliyun-java-sdk-core

4.5.1

com.aliyun.oss

aliyun-sdk-oss

3.10.2

com.aliyun

aliyun-java-sdk-vod

2.15.11

com.alibaba

fastjson

1.2.28

org.json

json

20170516

com.google.code.gson

gson

2.8.2

com.aliyun

aliyun-sdk-vod-upload

1.4.14

2.编写配置类获取重要参数  yml

yml文件:

aliyun:

vod:

keyid: LTAI5t917KtK4jMysr7q5dsasTRe #id

keysecret: TpCng6xABP3hqehI9NyMdsdaAVQBOXRkW #密钥

templateGroupId: 1 #转码模板

workflowId: 2 #工作流

对应配置类

import lombok.Data;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.stereotype.Component;

@Data

@Component

@ConfigurationProperties(prefix = "aliyun.vod")

public class VodProperties {

private String keyid;

private String keysecret;

private String templateGroupId;

private String workflowId;

}

3.编写服务(服务包括上传 删除 批量删除)

@Service

@Slf4j

public class VodVideoServiceImp implements VodVideoService {

@Autowired

private VodProperties vodProperties;

@Override

//video上传服务

public String uploadVideo(InputStream inputStream, String originalFileName) {

String title = originalFileName.substring(0, originalFileName.lastIndexOf("."));

UploadStreamRequest request=new UploadStreamRequest(vodProperties.getKeyid(),vodProperties.getKeysecret(),title,originalFileName,inputStream);

UploadVideoImpl uploadVideo=new UploadVideoImpl();

UploadStreamResponse response=uploadVideo.uploadStream(request);

String videoId=response.getVideoId();

if (StringUtils.isEmpty(videoId)){

log.info("阿里云上传失败"+response.getCode()+"-"+ response.getMessage());

}

return videoId;

}

//video删除服务

@Override

public void removeVideo(String id) throws ClientException {

DefaultAcsClient client=invokeClient(vodProperties.getKeyid(),vodProperties.getKeysecret());

DeleteVideoRequest request=new DeleteVideoRequest();

request.setVideoIds(id);

DeleteVideoResponse response=client.getAcsResponse(request);

}

//批量删除video

@Override

public void removeVideoByList(List stringList) throws ClientException {

DefaultAcsClient client=invokeClient(vodProperties.getKeyid(),vodProperties.getKeysecret());

DeleteVideoRequest request=new DeleteVideoRequest();

StringBuffer buffer=new StringBuffer();

int size=stringList.size();

for (int i = 0; i < size; i++) {

buffer.append(stringList.get(i));

//拼接

if (i == size-1||i%20==19){ //一次性最大批处理20条

request.setVideoIds(buffer.toString());

client.getAcsResponse(request);

}

else if (i<19){

buffer.append(",");

}

}

}

//初始化服务端

public static DefaultAcsClient invokeClient(String accessKeyId,String accessKeySecret){

String region="cn-shanghai";//接入地区

DefaultProfile profile=DefaultProfile.getProfile(region,accessKeyId,accessKeySecret);

DefaultAcsClient client=new DefaultAcsClient(profile);

return client;

}

}

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: