Python 上传图片到OneNet

2024-05-14 15:58
文章标签 python 图片 上传 onenet

本文主要是介绍Python 上传图片到OneNet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python 上传图片到OneNet

最近参加了中国移动创客马拉松,需要用到OneNet平台。由于要向平台上传图片,所以写了这段代码。

1、使用postman发送post请求

使用post方法,在URL栏中填写指定的URL;
在Headers中添加api-key;
在Body中选择binary(二进制数据),并指定文件1.jpg

然后点击Send,发送这段数据,得到的返回结果是一串字符串:

{"errno": 0, # 0表示成功"data": { # 服务器返回的数据"index": "**************" #post数据成功后,服务器返回数据的索引index },"error": "succ" # 成功
}

这里写图片描述

这里写图片描述


2、用python代码实现上述过程

下面这段代码首先定义了http的header,在header中定义了Content-Type和api-key。其中,Content-type不指定也是可以的;api-key则必须要指定,因为是OneNet平台要求的鉴权。在使用OneNET Restful API时,HTTP请求消息的头域必须携带该APIKey字段,OneNET会依据APIKey字段判别该用户是否具有对应操作的权限。

然后在参数中,指定了device_id和datastream_id。Restful API请见下表:

HTTP方法POST
URLhttp:///bindata
HTTP头部api-key:xxxx-ffff-zzzzz,数据流 Key
URL参数device_id,必选,该数据所属设备。
datastream_id,必选,该数据所属数据流
HTTP内容普通二进制数据、文件、图像
请求返回{
  ”errno”: 0,
  ”error”:“succ”,
  ”data”:{
    //该数据在设备云的索引
    ”index”:“AJOWFW1133OFO2Z93”
  }
}



接着以二进制的形式读取图片数据,并使用request库以二进制流的形式上传数据。requests支持流式上传,允许发送大数据流文件,无需预先把数据读入到文件。具体可见request的文档:

这里写图片描述

solution.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-import requestsurl = "http://api.heclouds.com/bindata"headers = {"Content-Type": "image/jpg", # "api-key": "*************", # 你的api-key
}# device_id是你的设备id
# datastream_id是你的数据流id
querystring = {"device_id": "****", "datastream_id": "******"}# 流式上传
with open('timg.jpg', 'rb') as f:requests.post(url, params=querystring, headers=headers, data=f)print('success')

接下来就能在平台上看到我们上传的图片了。

这里写图片描述

参考:http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced

这里写图片描述

这篇关于Python 上传图片到OneNet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989192

相关文章

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放

树莓派启动python的实现方法

《树莓派启动python的实现方法》本文主要介绍了树莓派启动python的实现方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、RASPBerry系统设置二、使用sandroidsh连接上开发板Raspberry Pi三、运

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项