//方法
npm i ali-oss --save
<script>
const OSS = require("ali-oss")
created() {
this.client = new OSS({
endpoint: '',
region: "",
accessKeyId: "",
accessKeySecret: "",
bucket: "",
timeout: 360000
})
},
upLoad() {
let that = this
uni.chooseFile({
count: 1, //默认100
type: 'doc',
success: function(res) {
var imgFilesObj = res.tempFiles[0]
that.userPhoto = imgFilesObj.path
uni.showLoading({
title: '上传中',
mask: true
})
let file = event.target.files[0]
// if (!(/^\S+\.mp4$/.test(file.name))) {
// return this.$message.error('请上传视频文件')
// }
/**
* 文件的类型,判断是否是视频
*/
let param = new FormData()
param.append('file', file, file.name)
console.log('开始上传')
that.putFile(file.name, file)
}
})
},
async putFile(name, file) {
try {
this.fileName = new Date().getTime() + name
//object-name可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
let result = await this.client.put(this.fileName, file)
this.dataForm.attachment = result.url; //返回的上传视频地址
//一下为生成图片处理的签名 URL t_1000表示第一秒视频图片,常用来作为视频封面图
uni.hideLoading()
uni.showToast({
title: '上传成功!'
})
this.isFile = true
} catch (e) {
uni.hideLoading()
}
},
//附带一个下载
downLoad(url) {
console.log(url)
let dload = document.createElement('a')
dload.download = '' // 设置下载的文件名,默认是'下载'
dload.href = url
document.body.appendChild(dload)
dload.click()
dload.remove() // 下载之后把创建的元素删除
uni.showToast({
title: '正在下载',
icon: 'success'
})
},
//或者这个
https://www.jianshu.com/p/c0ce31dbcfe1