1.导入pom 注意最后的vod-upload 参考我的 将Vod集成到Maven
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
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;
}
}
相关文章
发表评论