阿里云视频点播,服务端sdk上传视频失败,控制台显示状态”上传中“

环境:jdk13
依赖

<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.3.3</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>3.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-vod</artifactId>
            <version>2.15.2</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.28</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
        </dependency>

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

上传视频代码片段:阿里云官方文档,本地上传示例的代码


```java
@Test
    public void testUpload() {
        //账号AK信息请填写(必选)
        String accessKeyId = "*****填你自己的*****";
        //账号AK信息请填写(必选)
        String accessKeySecret = "*****填你自己的*****";
        //视频标题(必选)
        String title = "测试标题1";
        //本地文件上传和文件流上传时,文件名称为上传文件绝对路径,如:/User/sample/文件名称.mp4 (必选)
        //文件名必须包含扩展名
        String fileName = "C:\\Users\\Alex\\Desktop\\t.mp4";

        UploadVideoRequest request = new UploadVideoRequest(accessKeyId,accessKeySecret,title,fileName);

         request.setPrintProgress(true);

        UploadVideoImpl uploadVideo = new UploadVideoImpl();
        UploadVideoResponse response = uploadVideo.uploadVideo(request);

        if (response.isSuccess()){
            System.out.println(response.getVideoId());
        }else {
            System.out.println(response.getVideoId());
            System.out.println(response.getCode());
            System.out.println(response.getMessage());
        }

    }

执行结果:控制台输出

RequestId=D6262DD2-B6F5-4AA1-BB33-D2D8D18781F9
VideoId=acb7e9f4600b49bfb87c9b19d5bd1c79
ErrorCode=null
ErrorMessage=com/aliyun/oss/internal/OSSUdfOperation

Process finished with exit code 0

阿里云控制台中该视频一直处于“上传中”
根据报错信息:“com/aliyun/oss/internal/OSSUdfOperation”查找该类,并不在oss3.8.0的包中
在这里插入图片描述
参考官方文档,将aliyun-sdk-oss版本换至3.1.0
再次执行仍报错:控制台输出:

Start to upload videoId 36331353e70d489ca551302569613651......
2211663 bytes in total will be uploaded to OSS.
RequestId=1B3A5E9E-277D-469E-87B4-FA13D8ACE4DB
VideoId=36331353e70d489ca551302569613651
ErrorCode=null
ErrorMessage=sun/misc/BASE64Encoder

解决方法:根据报错信息:sun/misc/BASE64Encoder 推断与base64有关,jdk1.9之后不用这个类
但是阿里的源码又不能改,只能把jdk降到1.8版本。

2211663 bytes in total will be uploaded to OSS.
1048576 bytes have been written at this time, upload progress: 47%(1048576/2211663)
1048576 bytes have been written at this time, upload progress: 94%(2097152/2211663)
114511 bytes have been written at this time, upload progress: 100%(2211663/2211663)
Succeed to upload videoId 186cd8d5fec244ef995a5cd52d41fcec , 2211663 bytes have been transferred in total.
RequestId=2AD421B5-4ACB-4244-82A4-2737CE6ABE16
VideoId=186cd8d5fec244ef995a5cd52d41fcec

在这里插入图片描述
解决啦~

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值