uniapp使用华为云OBS进行上传

前言:无论是使用华为云还是阿里云,使用其产品的时候必须阅读文档

1、以华为云为例,刚接触此功能肯定是无从下手的情况,那么我们需要思考,我们使用该产品所用到的文档是什么
在这里插入图片描述

2、我们要使用obs 文件上传,肯定是通过其api 而不是sdk 进行开发,所以我们要先找到obs文档内的使用api 所在页面
在这里插入图片描述

3、直接定位到文档,根据需求进行开发
在这里插入图片描述
4、我们还可以查询是否有以往例子作为参考,但绝对要以文档为主
5、如果有解决不了的问题,创建工单进行处理,不要死磕!
6、注意:参考的例子只能做参考 !!!

功能需求背景:在采煤过程中,井下作业没有网络,进而使用局域网,无法将文件上传到数据库,所以采用,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 上传 

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

注意我们使用:policy 编译健全内容的时候:conditions 数组里面的值,要与formdata 里面的值保持一致,不然会报错,!!!!注意,不写status的时候, 300 一下都是成功, 我当时 是 204 ,以为是报错信息, 一直debugger ,最后发现是成功
在这里插入图片描述
在这里插入图片描述

缺点:
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb基础入门——(二)MySQL数据库基础(5-存储过程)

八、存储过程 8.1 存储过程介绍 8.1.1 SQL指令执行过程 从SQL执行执行的流程中我们分析存在的问题: 如果我们需要重复多次执行相同的SQL,SQL指令都需要通过连接传递到MySQL,并且需要经过编译和执行的步骤; 如果我们需要连续执行…

redis学习笔记(二)

一:redis数据的持久化 1.1:RDB方式 1.2:AOF方式 1.3:两种方式对比 二:redis主从架构 2.1:搭建主从架构 1:三台机器上安装三个redis,其中一个作为主节点,剩下两个作为从…

Kosmos-2: 在多模态大语言模型中引入基准和指代能力

Kosmos-2: 在多模态大语言模型中引入基准和指代能力 FesianXu 20240304 at Baidu Search Team 前言 之前笔者在博文中介绍过kosmos-1模型 [1],该模型脱胎于MetaLM采用『因果语言模型作为通用任务接口』的思想,采用了多种形式的多模态数据进行训练得到。…

FPGA FIFO 读取模式

FPGA FIFO 读取模式分两种: Normal Mode: In normal mode, the “rdreq” signal serves as the read request or read enable. When this signal goes high, the data output provides the first data from the FIFO.Essentially, in normal mode, data is availa…

C++异常处理机制【自定义异常体系 || 异常规范 || 异常安全】

目录 一,传统C语言处理异常 二,C异常概念 三,使用 1. 自定义异常体系 2. 在函数调用链中异常栈展开匹配原则 3. 异常的重新抛出 四,异常规范 五,异常安全 六,C标准库的异常体系 七,异…

人工智能|机器学习——Canopy聚类算法(基于密度)

1.简介 Canopy聚类算法是一个将对象分组到类的简单、快速、精确地方法。每个对象用多维特征空间里的一个点来表示。这个算法使用一个快速近似距离度量和两个距离阈值T1 > T2 处理。 Canopy聚类很少单独使用, 一般是作为k-means前不知道要指定k为何值的时候&#…

算法学习06:数组模拟:单/双链表,栈和队列,单调栈/队列

算法学习06:数组模拟:单/双链表,栈和队列,单调栈/队列 文章目录 算法学习06:数组模拟:单/双链表,栈和队列,单调栈/队列前言一、链表1.单链表2.双链表 二、栈和队列1.普通栈、队列2.单…

docker安装ES、LogStash、Kibana

文章目录 一、安装Elasticsearch1. 安装Elasticsearch2. 安装IK分词器3. elasticsearch-head 监控的插件4. 配置跨域 二、安装LogStash三、安装kibana四、SpringBoot集成LogStash,将日志输出到ES中五、 启动项目,监控项目运行 提示:以下是本篇…

docker创建mysql,以及mysql无法连接问题

1、docker开放3306端口 Docker开放3306端口实现步骤 本文将介绍如何使用Docker开放3306端口,以便其他容器或外部应用程序可以通过该端口访问MySQL数据库。以下是实现步骤的简要说明: 步骤 描述 第一步 创建一个MySQL容器 第二步 打开3306端口…

Part-DB 安装及使用

Part-DB 安装及使用: http://coffeelatte.vip.cpolar.top/post/software/applications/part-db/part-db_安装及使用/ Part-DB 是比较实用的元器件进销存 Web 系统,支持使用电脑摄像头扫码(条码和二维码)。 1. 安装 大部分按照 官方安装指导…

C++:模版进阶 | Priority_queue的模拟实现

创作不易,感谢三连支持 一、非类型模版参数 模板参数分类为类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数&…

JavaScript高级Ⅱ(全面版)

接上文 JavaScript高级Ⅰ JavaScript高级Ⅰ(自认为很全面版)-CSDN博客 目录 第2章 DOM编程 2.1 DOM编程概述 2.1.4 案例演示(商品全选) 2.1.5 dom操作内容 代码演示: 运行效果: 2.1.6 dom操作属性 代码演示: 运行效果: 2…

CEF JS与c++能够交互的原理 以及 JS 调用C++的流程分析

相关章节:CEF 之 Render进程 与 Browser进程通信 目录 一、JS与c++能够交互的原理 二、JS调用C++ 流程梳理

大模型时代下的自动驾驶研发测试工具链-SimCycle

前言: 最近OpenAI公司的新产品Sora的发布,正式掀起了AI在视频创作相关行业的革新浪潮,AI不再仅限于文本、语音和图像,而直接可以完成视频的生成,这是AI发展历程中的又一座重要的里程碑。AI正在不断席卷着过去与我们息…

【Node.js从基础到高级运用】四、Node.js基础

Node.js 基础 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它使得 JavaScript 可以脱离浏览器环境,在服务器端运行。本教程将介绍 Node.js 的一些基础概念,包括全局对象、内置模块的使用,以及事件循环和异步编程的基础。 全…

【EXCEL自动化07】用pandas库实现vlookup函数功能

🔥学好办公自动化,帮你节省更多宝贵的时间 🔥这个专栏收录python办公自动化的实操案例,利用python实现高效的办公自动化 🔥实现excel,word,文件批处理等自动化操作 使用pandas库来实现Excel中VLOOKUP函数的功能。 需要安装pandas库。有时直接下载会失败,会提示先安…

STM32 学习10 PWM输出

STM32 学习10 PWM输出 一、PWM简介1. PWM的概念2. PWM的工作原理3. PWM 常用的应用场景 二、一些概念1. 频率2. 占空比 三、STM32F1 PWM介绍1. 定时器与寄存器(1)**自动重装载寄存器(ARR)**:(2)…

python基础——输入与输出【input 和 print】

📝前言: 上一篇文章python基础——入门必备知识中讲解了一些关于python的基础知识,可以让我们更好的理解程序代码中内容的含义,不至于一头雾水。今天我就来介绍一下,python中两个常见的输入和输出语句 input 和 print …

产品推荐 - 基于星嵌 OMAPL138+国产FPGA的DSP+ARM+FPGA三核开发板

1 评估板简介 基于TI OMAP-L138(定点/浮点DSP C674xARM9) FPGA处理器的开发板; OMAP-L138是TI德州仪器的TMS320C6748ARM926EJ-S异构双核处理器,主频456MHz,高达3648MIPS和2746MFLOPS的运算能力; FPGA…

粘包与拆包

优质博文:IT-BLOG-CN 一、粘包出现的原因 服务端与客户端没有约定好要使用的数据结构。Socket Client实际是将数据包发送到一个缓存buffer中,通过buffer刷到数据链路层。因服务端接收数据包时,不能断定数据包1何时结束,就有可能出…