vue elementui 上传视频 以及上传视频失败重新上传没反应的处理方法

<template><el-drawertitle="上传视频"size="50%":visible.sync="drawer":direction="direction"><div class="content"><div class="upload-box" v-if="!secondStep"><!--on-exceed:超出数量限制时的钩子file-list:上传的文件列表          --><el-uploadclass="upload-demo"drag:data="uploadData":action="actionUrl":headers="headers":on-success="handleSuccess":on-error="handleError":before-upload="beforeUpload":file-list="fileList":limit="1"accept=".mp4,.mov,.mpeg,.avi"><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div><div class="el-upload__tip" slot="tip"><div>(1) 文件大小: 最大 500 MB。</div><div>(2) 比例:9:16, 16:9 和 1:1。</div><div>(3) 格式:.mp4, .mov, .mpeg, .avi。</div><div>投放位置为TikTok限制:分辨率大于720*1280 px , 码率大于 516 Kbps , 时长 5-60s。</div></div></el-upload></div><div class="batch-box" v-if="secondStep"><el-tableref="multipleTable":data="fileList"tooltip-effect="dark"style="width: 100%"@selection-change="handleSelectionChange"><el-table-columntype="selection"width="55"></el-table-column><el-table-column label="文件名"><template slot-scope="scope"><div class="video-mes"><div class="video-mes-lef"><img :src="scope.row.video_cover_url" /></div><div class="video-mes-rig"><div class="name-box">{{ scope.row.file_name }}<!-- <i class="el-icon-edit"></i> --></div><div class="video-mes-cont"><span>{{ scope.row.duration }}</span> | <span>{{ scope.row.width }}*{{ scope.row.height }}</span> | <span>{{ scope.row.bit_rate }} Mbps</span> | <span>{{ scope.row.size }} MB</span></div></div>                </div></template></el-table-column><!-- <el-table-columnprop="name"label="广告位要求校验"width="180"><template slot-scope="scope"><i class="el-icon-circle-check"></i><i class="el-icon-circle-close"></i>准备好上传</template></el-table-column><el-table-columnprop="status"label="状态" width="180"><template slot-scope="scope"><i class="el-icon-circle-check"></i><i class="el-icon-circle-close"></i>准备好上传</template></el-table-column><el-table-columnprop="remark"label="需要解决的问题"></el-table-column> --></el-table></div></div><div class="demo-drawer__footer"><div class="footer-lef">选择了 {{ multipleSelection.length }}/{{ fileList.length }}</div><div class="footer-rig"><el-button @click="cancelForm">取 消</el-button><el-button type="primary" @click="dataFormSubmit" >上传</el-button></div></div>
</el-drawer>
</template>
<script>//import { filetiktokupload } from "@/api/advertising/index";import store from "@/store";export default {data() {return {          actionUrl: '/api/file/tiktok/upload',headers: {agent_token: store.getters.access_token,},fileList: [],  // 存储上传的文件列表uploadData: {advertiserId: '', // Replace with actual advertiserIdtype: 'video'       // Replace with actual type if necessary},secondStep: false,multipleSelection: [],advertiser_id: "",checkedItem: null,checkedIndex: null,     checked: false,         drawer: false,loading:false,    direction: 'rtl',    };},methods: {init(advertiserId){this.reset()this.uploadData.advertiserId = advertiserIdthis.drawer = true;},      reset(){this.secondStep = falsethis.fileList = []//视频上传失败的时候 该字段重置才能重新上传this.multipleSelection = []        },beforeUpload(file) {const isVideo = file.type.indexOf('video/') > -1;const isLt1G = file.size / 1024 / 1024 / 1024 < 0.5;  // 限制文件大小为500Mbif (!isVideo) {this.$message.error('上传文件只能是视频格式!');return false;}if (!isLt1G) {this.$message.error('上传视频大小不能超过500Mb!');return false;}return true;},handleError(err, file, fileList){this.init()},handleSuccess(response, file, fileList) {if(response.code == 0){let info = response.datathis.$message.success('视频上传成功')this.fileList = []this.fileList.push({            video_id: info.video_id,video_cover_url: info.video_cover_url,preview_url: info.preview_url,file_name: info.file_name,width: info.width,height: info.height,duration: info.duration,bit_rate: (info.bit_rate/1024/1024).toFixed(2),size: (info.size/1024/1024).toFixed(2)})this.secondStep = true}else if(response.code == -1){this.$message.error('上传视频失败,请重试');this.init(this.uploadData.advertiserId)}},handleSelectionChange(val) {this.multipleSelection = val;},dataFormSubmit(){                if(this.multipleSelection.length == 0) {this.$message.error('请选择上传的文件');return}this.$emit("refreshDataList", this.multipleSelection);this.drawer = false;},cancelForm(){this.reset()this.drawer = false;},}};
</script>
<style scoped>
.video-mes-lef{ margin-right: 20px; width: 60px; height: 60px;}
.video-mes-lef img{ width: 100%; height: 100%; object-fit: contain;}
.video-mes{ display: flex; align-items: center;}
.content >>> .el-upload, .content >>> .el-upload-dragger{ width: 100%;}
.content >>> .el-upload-dragger{ height: 267px;}
.content >>> .el-upload-dragger .el-icon-upload{ margin-top: 90px;}
.el-icon-circle-check,.el-icon-circle-close{ margin-right: 6px;}
.el-icon-circle-check{ color: green}
.el-icon-circle-close{ color: red}
.el-icon-edit{ font-size: 14px;}
.footer-lef{ font-size: 14px;}
.content{ padding: 0 20px; height: calc(100% - 50px); overflow-y: scroll;}
>>>.demo-drawer__footer{padding: 0 20px;display: flex;align-items: center;justify-content: space-between;
}
>>>.el-drawer__header{border-bottom: 1px solid #EBEEF5;padding-bottom: 15px;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3280797.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

艾体宝干货 | 如何分析关键网络性能指标?持续接收样品试用申请!

网络性能是企业顺利运营的重要基础&#xff0c;而Allegro流量分析仪作为一款强大的网络性能分析工具&#xff0c;为企业提供了深入了解网络运行状况的途径。在本文中&#xff0c;我们将探讨如何利用Allegro 流量分析仪分析关键网络性能指标&#xff0c;以优化网络性能、提高安全…

AI来了,这4个方面,是我们普通人的赚钱机会

在2024年&#xff0c;AI不仅改变了我们的生活方式,更为我们带来了前所未有的赚钱机会。今天&#xff0c;让我们一起探索如何利用AI赚钱的几种方法。 通过AI做自由职业 还记得小时候大人们常说"一技在身,走遍天下"吗?在AI时代,这句话变得更加真实。自由职业意味着你…

Jeecgboot仪表盘设计器使用https时访问报错

问题 仪表盘设计器设计好后&#xff0c;Nginx配置域名发送https请求时&#xff0c;/drag/page/queryById、/drag/page/addVisitsNumber仍发送http请求。导致发送下面错误&#xff1a; 原因 仪表盘设计器里设计的页面是由后端生成返回给前端的&#xff0c;后端是根据后端服…

金融行业缓存建设历程

本文转载与中原银行分布式缓存平台建设历程及实践经验中原银行分布式缓存平台历经三代建设&#xff0c;实现了高效稳定智能的缓存服务&#xff0c;提升了系统性能与资源利用率&#xff0c;降低了运维难度&#xff0c;强有力的支撑金融业务。https://mp.weixin.qq.com/s/3NgLvAb…

不得不安利的程序员开发神器,太赞了!!

作为一名程序员&#xff0c;你是否常常为繁琐的后端服务而感到头疼&#xff1f;是否希望有一种工具可以帮你简化开发流程&#xff0c;让你专注于创意和功能开发&#xff1f;今天&#xff0c;我要向大家隆重推荐一款绝佳的开发神器——MemFire Cloud。它专为懒人开发者准备&…

Hive3:库操作常用语句

1、创建库 create database if not exists myhive;2、选择库 use myhive;3、查看当前选择的库 SELECT current_database();4、查看库详细信息 desc database myhive;可以查看数据文件在hdfs集群中的存储位置 5、创建库时制定hdfs的存储位置 create database myhive2 …

什么是 HTTP/3?HTTP/3 为何席卷全球?HTTP/3 中有什么新内容?为什么需要它?

超文本传输​​协议 ( HTTP ) 是互联网的基石&#xff0c;有助于加载网页、流式传输视频以及为您最喜爱的应用程序获取数据。 去年 &#xff0c;负责定义互联网技术的组织 互联网工程任务组 ( IETF )对该协议的新版本 HTTP/3 进行了标准化。自那时起&#xff0c;HTTP/3 和相关…

C语言分支结构作业

作业 输入你的身高和体重&#xff0c;测试你的健康状况。 计算bmi的值&#xff0c; bmi &#xff08;体重/身高的平方) 如果bmi 小于18.5&#xff0c;则显示“偏瘦&#xff0c;注意加强营养” 如果bmi 在18.5和23.9之间&#xff0c;则显示“体重指数良好&#xff0c;注意保持…

Linux基本功能

Linux 操作系统&#xff0c;作为开源社区的明星之一&#xff0c;以其稳定性、安全性和灵活性在全球范围内得到广泛应用。 1. 多用户和多任务支持 Linux 是一个真正的多用户系统&#xff0c;允许多个用户同时登录并在同一时间内运行多个程序。每个用户拥有自己的账户和权限&…

Javascript前端面试基础(九)

浏览器缓存 浏览器缓存分为强缓存和协商缓存。当客户端请求某个资源时&#xff0c;获取缓存的流程如下 先根据这个资源的一些http header判断它是否命中强缓存&#xff0c;如果命中则直接从本地获取缓存资源&#xff0c;不会发请求到服务器;当强缓存没有命中时&#xff0c;客户…

数说故事 | 大数据洞察宠物消费市场数据

“班味”越来越重的年轻人正靠养宠物来“拯救”自己的生活。结束了一天的忙碌&#xff0c;推开家门&#xff0c;撸个猫、遛个狗&#xff0c;哪怕云吸一下&#xff0c;命就续上了&#xff0c;感觉瞬间焕发新生&#xff0c;能量值满满。 宠物对于铲屎官的意义&#xff0c;不止于…

MATLAB(2)海底地形模型

一、介绍 在MATLAB中创建海底地形模型&#xff0c;你可以使用不同的方法&#xff0c;包括从现有的数据&#xff08;如地形数据文件、DEM&#xff08;数字高程模型&#xff09;等&#xff09;中加载数据&#xff0c;或者使用数学函数来生成模拟的地形。下面&#xff0c;我将提供…

Flink 实时数仓(二)【DIM 层搭建】

1、DIM 层搭建 1.1、设计要点 DIM层设计要点&#xff1a; DIM层存的是维度表&#xff08;环境信息&#xff0c;比如人、场、货等&#xff09;DIM层的数据存储在 HBase 表中DIM层表名的命名规范为dim_表名 DIM 层表是用于维度关联的&#xff0c;要通过主键&#xff08;维度外…

Magento2 常用命令以及技巧

1.Magento 命令行工具 Magento2 带有一个命令行工具&#xff0c;在windows下&#xff0c;用管理员权限打开MS-DOS命令提示符&#xff0c;然后cd到Magento根目录&#xff0c;运行下面命令&#xff0c;就可 以看到这个强大的命令行工具的命令清单&#xff1a; php bin/magentoU…

【echarts】echarts-liquidfill 水球图

echarts-liquidfill3兼容echarts5 echarts-liquidfill2兼容echarts4 npm install echarts npm install echarts-liquidfill设置水球图背景色和内边框样式 var option {series: [{type: liquidFill,data: [0.6, 0.5, 0.4, 0.3],backgroundStyle: {borderWidth: 5,//边框宽度bo…

《史上最简单的SpringAI+Llama3.x教程》-04-RAG核心Embedding及向量检索Retrieval

上一节咱们顺利从本地读取了文件内容&#xff0c;并且可以使用transform工具对文件进行内容处理&#xff0c;下面咱们继续看看如何将文件进行向量化&#xff0c;并且存储到向量数据库中。 Embedding 知识扩展 Embeddings是一种将高维数据映射到低维空间的技术&#xff0c;它能…

【Webpack 踩坑】img 标签图片加载不出来

问题&#xff1a;在html的img标签路径解析错误&#xff0c;导致加载不出来 一直用框架开发&#xff0c;好久没用过webpack写原生代码&#xff0c;一下子踩了好多坑… 图片位置&#xff1a; 其中一个就是在html中写了图片地址&#xff1a; <!-- src/pages/index.html --&…

实战:ElasticSearch 索引操作命令(补充)

四.ElasticSearch 操作命令 4.1 集群信息操作命令 4.1.1 查询集群状态 &#xff08;1&#xff09;使用 Postman 客户端直接向 ES 服务器发 GET 请求 http://hlink1:9200/_cat/health?v &#xff08;2&#xff09;使用服务端进行查询 curl -XGET "hlink1:9200/_cat/h…

2024.07纪念一 debezium : spring-boot结合debezium

使用前提&#xff1a; 一、mysql开启了logibin 在mysql的安装路径下的my.ini中 【mysqlid】下 添加 log-binmysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server_id1 # 配置 MySQL replaction 需要定义&#xff0c;不要和 canal 的 slaveId 重复 参考gitee的项目…

收藏!国内外GPU算力厂商详细盘点

如今&#xff0c;图形处理器&#xff08;GPU&#xff09;作为计算领域的核心部件&#xff0c;其算力性能直接决定了诸多应用场景的效率和效果。从深度学习、科学计算到视频处理&#xff0c;GPU的算力已成为衡量技术实力的重要指标。本文将详细盘点当前市场上GPU算力领先的厂商&…