当前位置: 首页 > news >正文

uniapp上传图片和视频到OSS

 

1.首先需要拿到formData里面的参数如下所示:

	formData: {
			name: nameStr,
			key: nameStr,
			policy: 'xxxxxxxxx', // 输入你获取的的policy
		OSSAccessKeyId: 'xxxxxxxxxxxx', // 输入你的AccessKeyId
		success_action_status: '200', // 让服务端返回200,不然,默认会返回204
		signature: 'xxxxxxxxxxxxxx'
				
					},

2.无需后台返回使用工具拿到以上参数:

  • 下载应用服务器代码
  • 将文件解压,并打开upload.js文件
  • 修改upload.js中的配置信息。

 

 

  • accessId : 设置你的AccessKeyId。
  • accessKey : 设置你的AessKeySecret。
  • host: 格式为bucketname.endpoint,例如bucket-name.oss-cn-hangzhou.aliyuncs.com。关于Endpoint的介绍,请参见Endpoint访问域名。
  • expiration:设置Policy的失效时间,如果超过失效时间,就无法通过此Policy上传文件。

3.进行上传测试

  1. 在浏览器打开index.html文件
    index.html
  2. 单击选择文件,选择指定类型的文件,单击开始上传。

4.获取上传需要的签名(signature)和加密策略(policy)。

按F12开启web调试,在请求中的Form Data中获取signature和policy。
获取signature和policy

5.使用uniapp上传图片

使用chooseImageApi选择本地图片后上传

 

	let tiemr = new Date();
			let address = tiemr.getFullYear() + '' + (tiemr.getMonth() + 1) + '' + tiemr.getDate();
			address = 'image' + '/';
			var imageSrc = this.videoList[0];
			let str = '.mp4';
			let nameStr = address + tiemr.getTime() + str;
			let ossUrl = 'http://wangnode.oss-cn-beijing.aliyuncs.com/';
			console.log(45, nameStr);
			console.log(45, imageSrc);
			console.log(45, str);
			uni.uploadFile({
				url: ossUrl, //输入你的bucketname.endpoint
				filePath: imageSrc,
				fileType: 'mp4',
				name: 'file',
				formData: {
					name: nameStr,
					key: nameStr,
					policy: 'xxx', // 输入你获取的的policy
					OSSAccessKeyId: 'xxx', // 输入你的AccessKeyId
					success_action_status: '200', // 让服务端返回200,不然,默认会返回204
					signature: 'xxxxx'

				},
				success: res => {
					console.log(1121321, res);
					if (res.statusCode == '200') {
						console.log(ossUrl + nameStr);
						//上传到服务器返回的地址
						this.$u.api.videoInfo({
							'vedioUrl': ossUrl + nameStr,
							'ticketId': parseInt(this.operateresultId),
							'ticketType': "operticket",
							'status': s,
							'isNormal': parseInt(this.isNormal)
						}).then(res => {
							console.log(45345, res);
							this.flagB = 1;
							this.updateState()

						})



					} else {
						console.log(res);
					}
				}
			});

 

相关文章:

  • 华为一道排序题
  • fiber框架token校验
  • uniapp导出excel
  • 华为2004年招收应届大学毕业生技术支持面试题。
  • go语言中的指针(一)
  • 华为面试题
  • Error: Unable to ‘pub upgrade‘ flutter tool
  • 中兴面试C语言题1
  • Goexit
  • 中兴面试C语言题(2)
  • golang定时器
  • Intel的笔试,大家看来都不想交白卷
  • go里面select使用
  • golang以打印机为例 互斥锁的问题 使用channel解决
  • 几道面试题
  • JavaScript-如何实现克隆(clone)函数
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 〔开发系列〕一次关于小程序开发的深度总结
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • git 常用命令
  • HTTP中GET与POST的区别 99%的错误认识
  • Java程序员幽默爆笑锦集
  • JS笔记四:作用域、变量(函数)提升
  • PHP CLI应用的调试原理
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • React系列之 Redux 架构模式
  • socket.io+express实现聊天室的思考(三)
  • TypeScript迭代器
  • ucore操作系统实验笔记 - 重新理解中断
  • Zepto.js源码学习之二
  • 关于 Cirru Editor 存储格式
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 基于遗传算法的优化问题求解
  • 前端工程化(Gulp、Webpack)-webpack
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 详解移动APP与web APP的区别
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 怎么把视频里的音乐提取出来
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • puppet连载22:define用法
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1)虚拟机的安装与使用,linux系统安装
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (4)logging(日志模块)
  • (C)一些题4
  • (八)Spring源码解析:Spring MVC
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (九)信息融合方式简介
  • (论文阅读11/100)Fast R-CNN
  • (一)WLAN定义和基本架构转
  • .NET Core 2.1路线图