// import { getOssToken } from "@/service/oss.js"; let COS = require('@/common/cos-wx-sdk-v5.min.js'); /** * dispose oss直传文件(视频,图片),传入以下两个参数,返回一个上传后的Array[urlLink] Promise对象 * @params pathList Array(String || Object[String]) 需要上传到oss的文件列表 * @params fileType String 上传到oss的文件类型,如:image、video * 图片上传调用:let imageList = await dispose(res.tempFilePaths, 'image'); * 视频上传调用:let videoList = await dispose([res.tempFilePath], 'video'); */ export async function dispose(pathList = [], fileType = 'image'){ // let ossResult = await getOssToken(); // 获取oss权限 // let oss = ossResult.data; var cos = new COS({ SecretId: 'AKIDpTqypPiqiKgkX3HEvKSJuEH3YnkQpzsU', // 获取的密钥id SecretKey: 'MSHo43mEOHuGL9gxwe5GAm7C0WlkSt2u', // 获取的密钥key }); let premiseList = []; pathList.map((item, index) => { let promiseItem = new Promise((resolve, reject) => { let tiemr = new Date(); let ext = getFileExtendingName(item.url || item.tempFilePath || item); // let nameStr = oss.dir + tiemr.getTime() + index + ext; let nameStr = tiemr.getTime() + index + ext; cos.postObject({ // 真正上传文件的函数 Bucket: 'qkx-1257637852', // 自己刚才创建的桶名称 Region: 'ap-nanjing', // 地域 一般都是ap-... Key: nameStr, // 上传的cos时,起一个别名 FilePath: item.url || item.tempFilePath || item, // 要上传的文件 // onProgress: function (info) { // console.log(JSON.stringify(info)); // 进度条 // } }, function (err, data) { if(err){ reject(err) }else{ resolve({...item, url: 'https://'+ data.Location}); } }); // uni.uploadFile({ // url: oss.host, // filePath: item.tempFilePath || item, // name: 'file', // fileType, // formData: { // 'key': nameStr, // "OSSAccessKeyId": oss.accessid, // "policy": oss.policy, // "Signature": oss.signature, // "success_action_status": 200, // }, // success: result => { // if (result.statusCode == 200) { // let fileUrl = oss.host + '/' + nameStr; // resolve(fileUrl); // }else{ // reject(result); // } // }, // fail: err => { // reject(err); // } // }) }) premiseList.push(promiseItem); }); return Promise.all(premiseList); } // 获取文件后缀 function getFileExtendingName(filename){ var reg = /\.[^\.]+$/; var matches = reg.exec(filename); if (matches) { return matches[0]; } return ''; }