• uniapp使用华为云OBS进行上传


    功能需求背景:在采煤过程中,井下作业没有网络,进而使用局域网,无法将文件上传到数据库,所以采用,uniapp 写了一个app 来处理上传的功能

    1、有需要由后端人员创建obs 桶, 对象存储服务:同列表 ,找到需要存储的桶数据
    在这里插入图片描述
    2、需要从后端人员处要到如下参数:
    在这里插入图片描述
    需要通过这两个参数进行编译出 :policy 和 signature 参数
    在这里插入图片描述
    配合 :uniapp 上传api 进行上传!!
    在这里插入图片描述
    传值代码块如下

    let config = {
       url: OBSConfig.host, // 访问桶的域名
       filePath, // 文件地址(绝对路径)
       name: 'file',
       formData: {
    	ObsAccessKeyId:OBSConfig.accessid,
    	policy: OBSConfig.policyBase64,
    	signature: OBSConfig.signature,
    	success_action_status: '200',
    	key, // 上传文件名字
       },
       success(res) {
         if (res.statusCode === 200) {
           resolve(key)
         } else {
           reject(res)
         }
       },
       fail(err) {
         reject(err)
       }
     }
     uni.uploadFile(config)  // 使用 uniapp 上传 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    由此我们可以看到 ,uni 上传文件的 成功 和 失败回调,进行其他处理

    缺点:
    1、uni 无法回调给出错误码,只有状态码码,不能明确的定位报错信息
    2、华为云OBS对于传值的,key 不能确定,可能还是文档阅读问题,文档没有明确的信息
    3、开发为app,使用的模拟器,无法从控制台定位信息(还是因为uni的上传回调问题)
    ps: 如果能给错误码,我们可以查看 :https://support.huaweicloud.com/api-obs/obs_04_0115.html 对应的错误码值进行修改
    不能看到解决,问题就是: 创建工单咨询 人工。。。

    全部代码:参考:https://juejin.cn/post/7109335204396810277?searchId=20240305134317BF152ADF70BD4A725457
    
    • 1
  • 相关阅读:
    环境变量小节
    关于ElementUI之动态树+数据表格+分页实例
    YOLOv8 来了,快速上手实操
    未来城市:数字孪生技术助力智慧城市构建
    Windows编程-进程
    结合CRM 与项目管理,扩大你的业务和客户群
    【平衡二叉搜索树】细撕AVL树的插入操作
    「运维有小邓」AD域委派
    Windows Server 2019 搭建WEB环境(IIS+CA)
    Redis数据结构
  • 原文地址:https://blog.csdn.net/weixin_45379180/article/details/136480089