首页 > 其他分享 >Vue上传视频组件

Vue上传视频组件

时间:2023-11-03 15:33:04浏览次数:24  
标签:Vue fileList video file 组件 message 上传 response

整合上传组件

<el-form-item label="上传视频">
<el-upload
:on-success="handleVodUploadSuccess"
:on-remove="handleVodRemove"
:before-remove="beforeVodRemove"
:on-exceed="handleUploadExceed"
:file-list="fileList"
:action="BASE_API+'/admin/vod/video/upload'"
:limit="1"
class="upload-demo">
<el-button size="small" type="primary">上传视频</el-button>
<el-tooltip placement="right-end">
<div slot="content">最大支持1G,<br>
支持3GP、ASF、AVI、DAT、DV、FLV、F4V、<br>
GIF、M2T、M4V、MJ2、MJPEG、MKV、MOV、MP4、<br>
MPE、MPG、MPEG、MTS、OGG、QT、RM、RMVB、<br>
SWF、TS、VOB、WMV、WEBM 等视频格式上传</div>
<i class="el-icon-question"/>
</el-tooltip>
</el-upload>
</el-form-item>


方法定义

import vod from '@/api/edu/vod'
//数据定义
//写核心代码的位置
export default {
data() {
return {
fileList: [],//上传文件列表
BASE_API: process.env.BASE_API ,// 接口API地址
video: {// 课时对象
title: '',
sort: 0,
free: false,
videoSourceId: '',
videoOriginalName: ''
},
};
},
created() {//渲染前执行

},
watch: {

},
methods: {
//成功回调
handleVodUploadSuccess(response, file, fileList) {
this.video.videoSourceId = response.data.videoId
this.video.videoOriginalName = file.name;
},
//修改回掉
editVideo(videoId) {
this.dialogVideoFormVisible = true
video.getVideoInfoById(videoId).then(response => {
this.video = response.data.item
this.fileList = [{'name': this.video.videoOriginalName}]
})
},
//视图上传多于一个视频
handleUploadExceed(files, fileList) {
this.$message.warning('想要重新上传视频,请先删除已上传的视频')
},

beforeVodRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`)
},
handleVodRemove(file, fileList) {
console.log(file)
vod.removeById(this.video.videoSourceId).then(response=>{
this.$message({
type: 'success',
message: response.message
})
})
},
handleVodRemove(file, fileList) {
console.log(file)
vod.removeById(this.video.videoSourceId).then(response => {
this.video.videoSourceId = ''
this.video.videoOriginalName = ''
this.fileList = []
this.$message({
type: 'success',
message: response.message
})
})
},




}

};

 

参考文章:http://blog.ncmem.com/wordpress/2023/11/03/vue%e4%b8%8a%e4%bc%a0%e8%a7%86%e9%a2%91%e7%bb%84%e4%bb%b6/

欢迎入群一起讨论

 

 

标签:Vue,fileList,video,file,组件,message,上传,response
From: https://www.cnblogs.com/songsu/p/17807676.html

相关文章

  • [vue-router] hash模式与history模式的区别
    单页面应用(SPA)单页面应用程序将所有的活动局限于一个Web页面中,在该Web页面初始化时加载相应的HTML、JavaScript和CSS。一旦页面加载完成,单页面应用不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用JavaScript动态的变换HTML的内容,从而实现UI与用户的交互。由......
  • Ant组件踩坑记录(日期选择器)
    1.日期选择器<a-date-picker/>数值转化问题原先写法,我是直接绑定“2023-11-0300:00:00”的string值,结果发现日期框无法显示这个日期<a-date-pickerv-model:value="timeInfo.invoiceDate"format="YYYY-MM-DDHH:mm:ss"show-time/> 网上看了一圈,没有同类问题(PS:我太菜......
  • Vue+OpenLayers从入门到实战进阶案例汇总目录,兼容OpenLayers7和OpenLayers8
    本篇作为《Vue+OpenLayers入门教程》和《Vue+OpenLayers实战进阶案例》所有文章的二合一汇总目录,方便查找。本专栏源码是由OpenLayers结合Vue框架编写。本专栏从Vue搭建脚手架到如何引入OpenLayers依赖的每一步详细新手教程,再到通过各种入门案例和综合性的实战案例,带领大家快速......
  • 简谈:NIO三大组件之Channel、Buffer
    NIO释义:non-blockingio的简写,即非阻塞IO1.Channelchannel类似stream,但更加底层,是读写数据的双向通道,可将channel的数据写入buffer,也可将buffer的数据写入channel常见的Channel:FileChannel、DatagramChannel、SocketChannel、ServerSocketChannel2.Bufferbuffer用来缓冲......
  • vue 视频上传组件
    组件:<template><divclass="upload-box"><divclass="avatar-uploader-box"><!--图片预览--><div:key="index"class="video-preview"v-for="(item,index)invideoList"&g......
  • 宝塔 nginx 运行 vue项目
    宝塔安装nginxnginx根目录:/www/server/nginx/html修改nginx配置下滑到70多行,添加server对象内容,内容如下server{listen82;server_nametest2;location/{roothtml/test2;indexindex.htmlindex.htm;......
  • vue图片上传视频
    图片上传是现在Web开发中常见的需求之一。而使用Vue框架可以使得这一过程更加方便和有效。在Vue中使用预先开发好的组件,可以快速地实现图片上传功能。//在Vue组件中引用插件importVueUploadComponentfrom'vue-upload-component'//在模板中引用组件上面的代码使用VueUplo......
  • 甘特图组件DHTMLX Gantt用例 - 如何拆分任务和里程碑项目路线图
    创建一致且引人注意的视觉样式是任何项目管理应用程序的重要要求,这就是为什么我们会在这个系列中继续探索DHTMLXGantt图库的自定义。在本文中我们将考虑一个新的甘特图定制场景,DHTMLXGantt组件如何创建一个项目路线图。用例-带有自定义时间尺度、拆分任务和文本标签的项目路线......
  • vue3 -点击按钮进入新的页面
    一、调用页面//路由import{useRouter}from'vue-routerlet$router=useRouter()//车组调整页面consthandleCar=(row:any)=>{ $router.push({path:"/test/edit",query:{setCode:row.setCode,lineName:row.lineName}})}二、新打开的页面importuseTagsViewSt......
  • 界面组件DevExtreme v23.1 —— UI模板库更新新功能
    在DevExtreme在v22.2版本中附带了针对Angular、React和Vue的新UI模板库,这个新的UI模板库包含多个响应式UI模板,您可以将其用作业务应用程序的起点,模板包括类似CRM的布局、仪表盘、身份验证表单等。在这篇文章中,我们将看看在v23.1发布周期中引入的与UI模板库相关的更新。DevExtreme......