视频电商网站视频上传准备:vue+七牛JSSDK集成(2)上传视频时显示进度条

vue-element上传视频并预览、上传多个视频+laravel8后台(larke-admin) 阅读详情

前面我们在vue.js里继承了七牛云JSSDK,
完成了『上传文件』的基本。(我们选择了一张图片,瞬间上传到了七牛云上)。

1、我们先准备html内容(我们用的是eleme-ui)

<div>
   <el-progress :text-inside="true" :stroke-width="18" :percentage="0">     </el-progress>
</div>

2、vue.js的data()里需要2个属性来控制进度条的值和是否显示进度条

videoProgressValue:0,
isShowProgress:false,

那么我们的html上,需要使用

<div v-if="isShowProgress">
      <el-progress :text-inside="true" :stroke-width="18" :percentage="videoProgressValue"></el-progress>
</div>

3、接下来就是在Qiniu.uploader里改变这2个属性

        mounted(){
            var _this = this;

            var uploader = Qiniu.uploader({
                runtimes: 'html5,flash,html4',      // 上传模式,依次退化
                browse_button: 'selectVideo',         // 上传选择的点选按钮,必需

                uptoken_url: 'http://localhost/yiiserver/web/index.php/video/uptoken',         // Ajax请求uptoken的Url,强烈建议设置(服务端提供)

                get_new_uptoken: false,             // 设置上传文件的时候是否每次都重新获取新的uptoken
                // downtoken_url: '/downtoken',
                // Ajax请求downToken的Url,私有空间时使用,JS-SDK将向该地址POST文件的key和domain,服务端返回的JSON必须包含url字段,url值为该文件的下载地址
                // unique_names: true,              // 默认false,key为文件名。若开启该选项,JS-SDK会为每个文件自动生成key(文件名)
                save_key: true,                  // 默认false。若在服务端生成uptoken的上传策略中指定了save_key,则开启,SDK在前端将不对key进行任何处理
                domain: 'videopro',     // bucket域名,下载资源时用到,必需
                container: 'videoContainer',             // 上传区域DOM ID,默认是browser_button的父元素
                max_file_size: '100mb',             // 最大文件体积限制
                flash_swf_url: '../plupload/Moxie.swf',  //引入flash,相对路径
                max_retries: 3,                     // 上传失败最大重试次数
                dragdrop: true,                     // 开启可拖曳上传
                drop_element: 'videoContainer',          // 拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
                chunk_size: '4mb',                  // 分块上传时,每块的体积
                auto_start: true,                   // 选择文件后自动上传,若关闭需要自己绑定事件触发上传
                //x_vars : {
                //    查看自定义变量
                //    'time' : function(up,file) {
                //        var time = (new Date()).getTime();
                // do something with 'time'
                //        return time;
                //    },
                //    'size' : function(up,file) {
                //        var size = file.size;
                // do something with 'size'
                //        return size;
                //    }
                //},


                init: {
                    'FilesAdded': function(up, files) {
                        plupload.each(files, function(file) {
                            // 文件添加进队列后,处理相关的事情
                        });
                    },
                    'BeforeUpload': function(up, file) {
                        // 每个文件上传前,处理相关的事情
                        _this.isShowProgress = true;
                    },
                    'UploadProgress': function(up, file) {
                        // 每个文件上传时,处理相关的事情
                        _this.videoProgressValue = file.precent;
                    },
                    'FileUploaded': function(up, file, info) {
                        // 每个文件上传成功后,处理相关的事情
                        // 其中info是文件上传成功后,服务端返回的json,形式如:
                        // {
                        //    "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
                        //    "key": "gogopher.jpg"
                        //  }
                        // 查看简单反馈
                        // var domain = up.getOption('domain');
                        // var res = parseJSON(info);
                        // var sourceLink = domain +"/"+ res.key; 获取上传成功后的文件的Url
                    },
                    'Error': function(up, err, errTip) {
                        //上传出错时,处理相关的事情
                    },
                    'UploadComplete': function() {
                        //队列文件处理完毕后,处理相关的事情
                        _this.isShowProgress = false;
                    },
                    'Key': function(up, file) {
                        // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
                        // 该配置必须要在unique_names: false,save_key: false时才生效
                        var key = "";
                        // do something with key here
                        return key
                    }
                }
            });
        },

从上面代码可以看出,我们是在init的UploadProgress里赋值进度条的值的。

需要特别说明的是,init里的this不是vue,所以在一个开始var _this = this。

qiniu.js七牛上传vue使用 vue中import {Qiniu} from '../../../static/release/qiniu.js' 立即下载

相关推荐

springboot+vue前后端分离 实现超大文件分块上传

一个即开即用的大文件上传代码示例,后端为springboot,前段为vue.js+elementui,里面带有sql文件,项目时可以跑通的

vue上传文件并显示进度条

keepFileList 用来备份选择的文件列表,因取消下载后文件列表会被清空,导致不能继续上传。手动使用submit()上传。

IT菜鸟 1万+

七牛云 七牛图片上传 Deom JS 等所有资源

七牛云 七牛图片上传 Deom JS 等所有资源 七牛云 七牛图片上传 Deom JS 等所有资源 七牛云 七牛图片上传 Deom JS 等所有资源

【七牛云】基于php大文件分片上传至七牛云,支持断点续传,带进度条

基于php大文件分片上传至七牛云,使用的是七牛云js-sdk V2版本,引入js文件,配置简单,可以暂停,暂停后支持断点续传(刷新、关闭页面、重新上传、网络中断等情况),可以配置分片大小和分片数量,官方文档https://developer.qiniu.com/kodo/6889/javascript-sdk-historical-document-2-x。token需要从后端获取。如果不使用七...

qq_25285531的博客 1334

php 上传带进度条

php 上传带进度条

Qt绘图库对决:QWT与QCustomPlot的实战选型指南

本文为Qt开发者提供了QWT与QCustomPlot两大绘图库的实战选型指南。文章从功能特性、性能资源、开发效率三大维度进行深度对比,并结合工业监控、科学计算、嵌入式设备等典型场景,给出了清晰的决策清单。对于需要专业科学图表(如极坐标、等高线图)的场景推荐QWT;对于追求高性能、实时性、快速开发及嵌入式部署的通用图表需求,QCustomPlot是更优选择。

alpha的博客 240

七牛上传回调显示进度条方法。

1,首先表单上传肯定是没有进度条的。2,其次,各个版本的sdk的封装情况也不一样。封装有进度回调的sdk: Objective-C (iOS/Mac) Java (Android) C# Go JavaScript3,举例说明回调的进度使用情况(c#sdk)。 ResumablePutExtra extra = new ResumablePutExtra();

guoer9973的专栏 1万+

lattice Diamond Programmer程序下载

Lattice Diamond Programmer(支持Lattice FPGA与CPLD程序下载)

qq_44385725的博客 5169

七牛云视频上传方法 上传进度 断点续传

#import 一。七牛云视频上传的两种方法 方法1. 文件地址上传 已知视频在本地的地址 fileUrl [_upManager putFile:fileUrl key:nil token:uptoken complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) { NSLog(@"看看-------

flg1554112450的博客 1万+

IST——In-System-Test

安全性是自动驾驶平台的关键特性之一,而这些架构中使用的半导体芯片必须保证ISO 26262标准所要求的功能安全方面。为了监控由于现场缺陷导致的故障,在启动和/或关闭期间会自动运行系统内结构测试。当系统内测试(IST,In-System-Test)架构检测到任何永久性缺陷时,驾驶平台会做出响应,以实现系统的故障安全状态。汽车IC采用高质量测试方法进行筛选,以实现接近零的DPPM(每百万缺陷部件)。即使在这样的高测试标准下,由于环境或操作条件的影响,在系统现场运行过程中仍可能出现可靠性缺陷。

weixin_50518899的博客 3205

使用Intel编译器编译OpenFOAM

本文总结了使用INTEL编译器编译OpenFOAM的过程

姜蜉蝣的博客 1546

vue upload 视频上传 七牛云存储

vue element ui的upload组件上传视频到后端指定服务器、七牛云。拿到上传的视频的互联网访问路径。

细节怪的博客 2716

基于Active-HDL的HDL设计录入与仿真

作者:毛茏玮 / Saint 掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a 微博:https://weibo.com/5458277467/profile?topnav=1&amp;wvr=6&amp;is_all=1 GitHub:github.com/saint-000 优快云: https://me.csdn.net/qq_4053...

一个会写代码的烤鸭 7780

Vue预览图片和视频的几种方式

以上是几种常见的方法来实现视频的预览。你可以根据具体的需求和项目来选择合适的方法来预览视频。你可以根据具体的需求和项目来选择合适的方式来显示图片。是Vue组件中的一个数据属性,它保存了图片的路径。是Vue组件中的一个数据属性,它保存了视频的路径。是Vue组件中的一个数据属性,它保存了视频的路径。在上面的代码中,我们使用CSS的。在上面的代码中,我们引入了。在上面的代码中,我们引入了。在上面的代码中,我们使用。在上面的代码中,我们使用。在上面的代码中,我们使用。在上面的代码中,我们使用。

一步一个脚印,踏实努力,向着目标前进 8092

使用 MATLAB/Simulink 构建一个 光伏-储能联合系统接入10kV配电网 的协同控制仿真模型

本教程详细介绍了基于Simulink的光伏-储能联合系统在配电网中的协同控制仿真方法。主要内容包括:系统结构设计(光伏阵列、储能电池、双向变流器等);建模流程(MPPT控制、BMS系统、PCS矢量控制);核心协同控制策略(功率平滑、削峰填谷、电压支撑的三层控制架构);仿真结果分析方法及性能评估指标。教程提供了从组件建模到系统集成的完整指导,并建议了模型预测控制、微网孤岛运行等进阶方向,帮助开发者掌握智能电网的关键仿真技术。通过该模型可实现可再生能源的高效利用与电网稳定运行的平衡。

amy_mhd的博客 214

Harness Engineering:让Coding Agent真正落地生产

本文将带你系统性地了解如何让Coding Agent真正落地生产,核心是依托(全球领先的持续交付、云成本管理、 feature flagging、安全治理一体化平台),结合企业级AIDD(AI-Driven Development)的工程化实践,构建一套可信赖、可观测、可扩展、可治理的Coding Agent落地体系。核心概念与理论基础:什么是Coding Agent?它和普通的AI代码补全工具(比如GitHub Copilot)有什么区别?什么是Harness Engineering?

移动开发前沿的博客 454

vue通过七牛云上传视频并获取封面

vue通过七牛云上传视频并获取封面 1.引入七牛云 a.npm 安装 npm install qiniu-js b.引入 const qiniu = require('qiniu-js') // or import * as qiniu from 'qiniu-js' 2.使用 <template> <div class="upload"> <div class="uploadbox"> <div class="uploaddetai

xshSun的博客 1682

检测头篇 | 手把手教你如何去更换YOLOv8的检测头为ASFF_Detect

自适应空间特征融合(ASFF)的主要原理旨在解决单次检测器中不同尺度特征的不一致性问题。具体来说,ASFF通过动态调整来自不同尺度特征金字塔层的特征贡献,确保每个检测对象的特征表示是一致且最优的。本文所做出的改进是将YOLOv8的检测头更换为ASFF_Detect。🌈

小哥谈 2496

VUE使用Element上传视频及预览

VUE使用Element下载视频及预览 .html <div v-if="videoForm.showVideoPath ==''"> <el-upload :action="upimgurl"//接口 v-bind:data="{...

换日线的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Vue上传视频 预览 进度条功能!

话不多说加下来看代码,这里我使用的是 vue-ele-upload-video 插件! 首先下载 npm install vue-ele-upload-video --save 第二步 // 全局引入 import EleUploadVideo from 'vue-ele-upload-video' Vue.component(EleUploadVideo.name, EleUploadVideo) // 局部引入 import EleUploadVideo from 'vue-ele-uplo..

草莓味的青 2724

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

html5视频上传云,vue+七牛云上传视频文件

Qiniu-JavaScript-SDK基于七牛云存储官方 API 构建,其中上传功能基于 H5 File API。开发者基于 JS-SDK 可以方便的从浏览器端上传文件至七牛云存储,并对上传成功后的文件进行丰富的数据处理操作。我用的是qiniu-js的1.x版本,可以到文档里详细看看安装引入// 下载qiniu-jsnpm install qiniu-js@1.X -D// 在页面中引入impo...

weixin_36277530的博客 635

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

在vue中使用原生七牛云sdk分片上传大文件

1.利用npm下载七牛云sdk,(具体可以参考官方api:https://developer.qiniu.com/kodo/1650/chunked-upload) npm install qiniu-js@1.X -D 2.在当前页面或者mian.js中直接引入 require('qiniu-js/dist/qiniu.min.js') 3.以下是全部代码 <template> <div class="upload"> <div id="video

wei80231996的博客 1885

vue+七牛云上传视频文件

七牛云官方jssdk文档: https://developer.qiniu.io/kodo/sdk/javascript plupload第三方上传插件文档: http://chaping.github.io/plupload/doc/# 安装引入 // 下载qiniu-js npm install qiniu-js@1.X -D // 在页面中引入 import * as qiniu from 'qiniu-js' 功能简介 上传 html5 模式大于 4 M 时可分块上传,小于 4 M 时直传

weixin_50367873的博客 1141

vue 自定义分片上传到七牛云带进度条

前言 场景:vue环境,UI框架为Ant Design Ant Design中的Upload自带上传功能,但是当我上传超过1G的视频文件时,导致文件过大而超时 于是设置customRequest属性,通过覆盖默认的上传行为,可以自定义自己的上传实现 引入七牛SDK 直接使用静态文件地址:https://unpkg.com/qiniu-js@<version>/dist/qiniu.min.js 使用 NPM 安装 npm install qiniu-js, import * as qiniu

Rainy_X的博客 1463

视频电商网站视频上传准备:vue.js+七牛JSSDK集成(1)排坑

七牛云官方jssdk文档: https://developer.qiniu.io/kodo/sdk/javascript plupload第三方上传插件文档: http://chaping.github.io/plupload/doc/# 注意:七牛云jssdk上传功能是基于Plupload插件封装的,所以需要下载Plupload,建议使用 2.1.1 ~ 2.1.9。 如果Pluploa

9305

vue基于七牛云 上传图片、视频

引入依赖 import request from './request' //这是基于 axios封装的请求 var qiniu = require('qiniu-js') //引入 qiniu import { getTimeForQiniu } from './date' //这个 只是为了生成时间戳路径 先根据后台获取token export function getQiniu...

随心博客 4755
上一篇: 视频电商网站视频上传准备:vue.js+七牛JSSDK集成(1)排坑
下一篇: 视频电商网站vue+七牛JSSDK集成(3)上传视频时暂停和续传
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值