视频上传

简介: 视频上传

后端接口

service

String uploadVideoAliy(MultipartFile file);
void removeVideo(String videoId);
@Override
public String uploadVideoAliy(MultipartFile file) {
    String videoId = null;
    try {
        //上传后显示的名称
        String title = file.getOriginalFilename();
        //上传文件的原始名称
        String fileName = file.getOriginalFilename();
        //fileName = fileName.substring(0,fileName.lastIndexOf('.'));
        System.out.println(fileName);
        InputStream inputStream = file.getInputStream();
        UploadStreamRequest request = new UploadStreamRequest(ConstantVodUtils.ACCESS_KEY_ID, ConstantVodUtils.ACCESS_KEY_SECRET, title, fileName, inputStream);
        request.setApiRegionId("cn-shanghai");
        UploadVideoImpl uploader = new UploadVideoImpl();
        UploadStreamResponse response = uploader.uploadStream(request);
        System.out.print("RequestId=" + response.getRequestId() + "\n");  //请求视频点播服务的请求ID
        if (response.isSuccess()) {
            System.out.print("VideoId=" + response.getVideoId() + "\n");
            videoId = response.getVideoId();
        } 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");
            videoId = response.getVideoId();
        }
    }catch (Exception e){
        e.printStackTrace();
    }
    return videoId;
}
    @Override
    public void removeVideo(String videoId) {
        //删除云端视频
        try{
            DefaultAcsClient client = InitVodClient.initVodClient(ConstantVodUtils.REGION_ID,ConstantVodUtils.ACCESS_KEY_ID, ConstantVodUtils.ACCESS_KEY_SECRET);
            DeleteVideoRequest request = new DeleteVideoRequest();
            request.setVideoIds(videoId);
            DeleteVideoResponse response = client.getAcsResponse(request);
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        }catch (com.aliyuncs.exceptions.ClientException e){
            throw new GuliException(20001, "视频删除失败");
        }
    }

controller

@Autowired
private VodService vodService;
//上传视频到阿里云
@PostMapping("uploadAliyunVideo")
public R uploadAliyunVideo(MultipartFile file){
    String videoId = vodService.uploadVideoAliy(file);
    return R.ok().data("videoId",videoId);
}
/**
     * 删除阿里云视频根据videoId
     */
    @DeleteMapping("removeAlyVideo/{id}")
    public R removeAlyVideo(@PathVariable String id){
        vodService.removeVideo(id);
        return R.ok().message("视频删除成功喽");
    }
相关文章
|
Ubuntu 安全 Unix
重置Jetson设备的Ubuntu密码:通过挂载根目录到另一个Linux系统
在本文中,我们将介绍如何在忘记Ubuntu 20.04密码的情况下重置密码。我们将通过将Ubuntu的根目录挂载到另一个Linux系统来实现这一目的。我们还将介绍chroot命令的功能。
943 0
重置Jetson设备的Ubuntu密码:通过挂载根目录到另一个Linux系统
|
2月前
|
缓存 JavaScript 安全
一文告诉你 Windows 彻底卸载 OpenClaw+ClawHub+飞书机器人 完整版指南 删干净、不留痕迹、无后门 让疯狂燃烧的 token停下来
本文详解Windows下彻底卸载OpenClaw及ClawHub的完整流程:停止网关服务、全局卸载npm包、清理缓存与全部配置文件(含`.openclaw`等隐藏目录)、卸载ClawHub、验证命令失效,并同步删除飞书开放平台应用,确保零残留。
1707 2
一文告诉你 Windows 彻底卸载 OpenClaw+ClawHub+飞书机器人 完整版指南 删干净、不留痕迹、无后门 让疯狂燃烧的 token停下来
|
2月前
|
人工智能 自然语言处理 API
MaxKB 快速部署指南!阿里云轻量服务器搭建智能问答系统,新手一次成功教程
MaxKB是一款基于大语言模型与RAG技术的开源知识库问答系统。本文提供阿里云轻量应用服务器一键部署教程:选用官方MaxKB应用镜像,3步完成创建、登录与配置(添加模型、建知识库、发布应用),新手5分钟即可上线智能问答服务,适用于企业知识管理、客服及教育等场景。
792 10
|
Kubernetes Java Linux
Linux|操作系统|Error: Could not create the Java Virtual Machine 报错的解决思路
Linux|操作系统|Error: Could not create the Java Virtual Machine 报错的解决思路
4358 0
|
存储 JSON API
深入研究:淘宝天猫商品详情查询API详解
淘宝开放平台提供一系列API接口,帮助开发者获取淘宝商品的详细信息并集成到自有应用中。主要功能包括:获取单个商品详情(item_get)、评论信息(item_review)、快递费用(item_fee)、等。此外,还支持搜索商品(item_search)、按图搜索(item_search_img)、优惠券查询(item_search_coupon)、类目信息(item_cat_get)等功能。返回数据通常为JSON格式,包含商品标题、价格、库存、主图链接等基本信息,以及HTML格式的详细描述内容,方便开发者解析与展示。
|
10月前
|
存储 人工智能 并行计算
阿里云六项满分!AI训推一体机权威报告发布
近日,国际数据公司IDC发布《中国AI训推一体机技术能力评估,2025》报告,阿里云在性能指标、架构能力、模型微调能力、推理能力、存储和网络架构、交付运维能力6项评估维度中获得满分,也是唯一一家性能指标维度满分的厂商。
843 0
|
存储 人工智能 自然语言处理
又双叒叕获认可!阿里云AI Stack一体机首批通过国家评测认证
近日,阿里云AI Stack一体机通过了中国电子技术标准研究院的“云上部署DeepSeek验证测试”,成为首批通过该评测的AI大模型一体机。
1457 10
|
机器学习/深度学习 存储 人工智能
千问QWQ-32B/满血DeepSeek R1部署指南,两种方式轻松玩转热门推理模型
本文介绍了如何利用阿里云CAP平台一键部署QWQ-32B和DeepSeek R1两大热门推理模型。通过应用模板或模型服务两种方式,开发者可快速完成部署并验证模型效果。QWQ-32B在数学、编程等任务上表现出色,而DeepSeek R1凭借强化学习训练,具备高效推理能力。两者均支持API调用及第三方平台集成,助力智能应用开发。
千问QWQ-32B/满血DeepSeek R1部署指南,两种方式轻松玩转热门推理模型
|
人工智能 安全 搜索推荐
阿里云AI Stack,加速大模型创新应用
阿里云AI Stack作为面向企业级客户的轻量化、极致性价比、软硬一体AI解决方案,顺利通过了中国信通院《AI大模型一体机技术能力要求》测评。
2257 1
|
人工智能 资源调度 调度
DeepSeek一体机!飞天企业版上新“AI Stack”,支持DeepSeek满血版和Qwen单机部署!
飞天企业版上新“AI Stack”,支持DeepSeek满血版和Qwen单机部署!
5605 0