参考文档:https://help.aliyun.com/document_detail/53406.html

一、安装SDK

1、配置pom

  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-core</artifactId>
  4. <version>4.3.3</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.aliyun.oss</groupId>
  8. <artifactId>aliyun-sdk-oss</artifactId>
  9. <version>3.1.0</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.aliyun</groupId>
  13. <artifactId>aliyun-java-sdk-vod</artifactId>
  14. <version>2.15.2</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>com.alibaba</groupId>
  18. <artifactId>fastjson</artifactId>
  19. <version>1.2.28</version>
  20. </dependency>
  21. <dependency>
  22. <groupId>org.json</groupId>
  23. <artifactId>json</artifactId>
  24. <version>20170516</version>
  25. </dependency>
  26. <dependency>
  27. <groupId>com.google.code.gson</groupId>
  28. <artifactId>gson</artifactId>
  29. <version>2.8.2</version>
  30. </dependency>

2、安装非开源jar包

image.png
在本地Maven仓库中安装jar包:
下载视频上传SDK,解压,命令行进入lib目录,执行以下代码

mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.11 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.11.jar

然后在pom中引入jar包

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-sdk-vod-upload</artifactId>
  <version>1.4.11</version>
</dependency>

二、测试

1、创建测试文件

package com.atguigu.aliyunvod;

public class UploadTest {

   //账号AK信息请填写(必选)
   private static final String accessKeyId = "你的accessKeyId";
   //账号AK信息请填写(必选)
   private static final String accessKeySecret = "你的accessKeySecret";

}

2、测试本地文件上传

/**
     * 视频上传
     */
@Test
public void testUploadVideo(){


  //1.音视频上传-本地文件上传
  //视频标题(必选)
  String title = "3 - How Does Project Submission Work - upload by sdk";
  //本地文件上传和文件流上传时,文件名称为上传文件绝对路径,如:/User/sample/文件名称.mp4 (必选)
  //文件名必须包含扩展名
  String fileName = "E:/共享/资源/课程视频/3 - How Does Project Submission Work.mp4";
  //本地文件上传
  UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);
  /* 可指定分片上传时每个分片的大小,默认为1M字节 */
  request.setPartSize(1 * 1024 * 1024L);
  /* 可指定分片上传时的并发线程数,默认为1,(注:该配置会占用服务器CPU资源,需根据服务器情况指定)*/
  request.setTaskNum(1);
  /* 是否开启断点续传, 默认断点续传功能关闭。当网络不稳定或者程序崩溃时,再次发起相同上传请求,可以继续未完成的上传任务,适用于超时3000秒仍不能上传完成的大文件。
      注意: 断点续传开启后,会在上传过程中将上传位置写入本地磁盘文件,影响文件上传速度,请您根据实际情况选择是否开启*/
  request.setEnableCheckpoint(false);


  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");
  }



}