微信小程序里如何用阿里云上传视频,图片。。
纯手写,踩了半天多的坑干出来了。。。
网上也有对于阿里云如何在微信小程序里使用,但是很不全,包括阿里云文档的最佳实践里。
话不多说上代码了。
1 upvideo(){
3 //上传视频到阿里云
5 wxchooseVideo({
7 successfunction (res){
9 stringFilePath String);
10 indexType stringFilePathlastIndexOf('.');
12 alikey 'video/'+newDate().getTime()+
14 wxuploadFile({
16 filePath tempFilePath17 name'file'
19
name21
policypolicy//上传阿里云的加密策略23 success_action_status"200"
25
},102);">26 success{alikey//这就是
29 thatvideoUrl videoUrl;
thatvideoUrl31 wxshowToast({
33 icon'success'34 duration1000
3637 fail({ errMsg })38({
41})
44}
通过代码大家可以看到最关键的是啥,如何获取加密策略和签名了,当然了,阿里云最佳实践里有demo,但是crypto这个库已经废弃了,它demo给你带过来的crypto,你只能自己去提取了。
import base64 from"base-64"const util {
aid "xxxxxxx"//你自己的阿里云的accessid
host "https://xxxxxxxxx.aliyuncs.com"//你自己的阿里云域名
"conditions"[
]
policy base64encodeJSONstringifypolicyText));//生成的加密策略
signature bytesToBase64bytes);//生成的签名
signature aid
}
}
至于如何上传图片,大体如下,请保证以上都已经跑通了,base64记得你上面引到。。
;// sizeType: ['compressed'],// 可以指定是原图还是压缩图,默认二者都有
'camera'],0);"> // 可以指定来源是相册还是相机,默认二者都有
tempFilePaths tempFilePaths;
wx({
上传...' icon'loading'
})
;
;
// stringFilePath= String(tempFilePaths[i]);
150'.jpg' thatsrcspush[i]);
wx url filePath//上传图片的路径
success uploadImgCount++;
]);
//服务器返回格式: { "Catalog": "testFolder","FileName": "1.jpg","Url": "https://test.com/1.jpg" }
// var productInfo = that.data.productInfo;
// productInfo.bannerInfo = [];
// productInfo.bannerInfo.push({
// });
// productInfo: productInfo
ifuploadImgCount =={
console3222);
title icon duration1000
fail wx();
title'错误提示' content'上传图片失败' showCancelfalse success}
}
// 上传图片完
都是自己亲测,亲坑。。。解决了你的问题,就随手一赞。。