H5 上传视频对接oss

部署运行你感兴趣的模型镜像

1、utils 创建upload.js
npm install ali-oss --save 安装插件

// const OSS = require("ali-oss"); //引入安装包;
import OSS from 'ali-oss'
//配置 阿里 oss 存储对应的 bucket 桶
var client = new OSS({
	region: "xxx", //指申请OSS服务时的地域
	endpoint: "xxx", //指定为HTTPS,也可以是IP的形式 region将会被忽略
	accessKeyId: "xxx", //  填写你的accessKeyId
	accessKeySecret: "xxx", // 填写你的accessKeySecret
	bucket: "xxx", // 桶的名称
	secure: true // 配合region使用。如果指定secure为true,则使用HTTPS访问。
});

// e : 文件对象,filename:存储文件名
export function uploadVid(e, filename) {
	console.log(e, e.tempFile.length, filename)
	return new Promise((resolve, reject) => {
		uni.showLoading({
			title: '正在上传...'
		});
		if (e.tempFile.length == 0) {
			uni.hideLoading();
			uni.showToast({
				title: '未找到视频',
				icon: 'none'
			})
			return false;
		};
		let file = e.tempFile;
		let time = new Date(),
			y,
			m,
			d;
		y = time.getFullYear();
		m = String(time.getMonth() + 1).length === 2 ?
			time.getMonth() + 1 :
			"0" + (time.getMonth() + 1);
		d = String(time.getDate()).length === 2 ?
			time.getDate() :
			"0" + time.getDate();
		let dfilefold = y + m + d;
		let r = Math.random().toString(16).substr(2);
		let name = filename + dfilefold + "/" + r + ".mp4";
		client.multipartUpload(name, file).then(function(result) {
				uni.hideLoading();
				uni.showToast({
					title: "上传成功",
					icon: "none"
				})
				let url = result.res.requestUrls[0];
				var index = url.indexOf("?");
				url = url.substring(0, index);
				resolve(url);
			})
			.catch((err) => {
				uni.hideLoading();
				uni.showToast({
					title: "上传失败",
					icon: "none"
				})
				reject(err)
			});
	})
}
//上传
const afterReadVideo = async event => {
			let lists = [].concat(event.file);
			let fileListLen = fileListVideo.value.length;
			lists.map(item => {
				fileListVideo.value.push({
					...item,
					status: 'uploading',
					message: '上传中'
				});
			});
			for (let i = 0; i < lists.length; i++) {
				const result = await uploadFilePromise(lists[i]);
				let item = fileListVideo.value[fileListLen];
				fileListVideo.value.splice(fileListLen, 1, {
					...item,
					status: 'success',
					message: '',
					url: result
				});
				fileListLen++;
			}
		};
		const deletePicVideo = event => {
			fileListVideo.value.splice(event.index, 1);
		};
		const uploadFilePromise = url => {
			console.log(url)
			return uploadVid(url, '名字xx')
		};

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值