微信小程序上传文件至阿里云

写在前面的话

这是一篇记录博客,所以没有过多的代码分析,只注重使用介绍。对刚好有此需求的朋友们能够下载代码使用。html

源码地址

  • 请移步git下载源码

文件结构

文件结构

  • config.js为阿里云信息配置文件
  • uploadAliyun.js为主方法

快速使用

  • 在config文件配置阿里云
let fileHost="http://frdscm.oss-cn-shenzhen.aliyuncs.com" // 阿里云路径
    let config = {
      uploadImageUrl: `${fileHost}`, //默认存在根目录,可根据需求改
      AccessKeySecret: 'h3RdiKm0ohUUN5tzRMoZ0nvqhxxxxx',
      OSSAccessKeyId: 'LTAIbH8hu0Uexxxx',
      timeout: 87600 //这个是上传文件时Policy的失效时间
    };
复制代码
  • 导入上传方法
const uploadImage = require('@src/untils/upload/uploadAliyun.js')
复制代码
  • 使用
uploadAioss = (filePath, key) => { // 上传阿里云
        return new Promise((reslove, reject) => {
            uploadImage(
                filePath, // 文件真实上传路径
                "",
                key, // 传给后台的路径 => 本身拼的路径 通常为时间+uuid+文件名等因人而异
                (res) => {
                    reslove(res)
                    console.log("上传成功", res)
                },
                (e) => {
                    reject(e)
                }
            )
        })
      }
      
    uuid = () => { // uuid生成方法
        return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
            const r = (Math.random() * 16) | 0,
                v = c === 'x' ? r : (r & 0x3) | 0x8;
            return v.toString(16);
        })
    }
复制代码

注:文件真实上传路径移步小程序api wx.uploadFileios

最后,有疑问的朋友能够多看阿里云文档,有兴趣的朋友能够看看代码实现方法。舒适提示,小程序不支持uuid插件,你们能够上网搜索,好多大牛都有解决方案。最后这是本身项目过程当中的自我记录,但愿能给有须要的朋友,提供一个快捷的方法。减小采坑时间。谢谢~git

相关文章
相关标签/搜索