iapp对接云函数上传图片
2023-03-20 14:50:05 时间
iapp上传图片到腾讯云函数
原理
原理:使用iapp对图片进行Base64编码然后上传到腾讯云API网关触发云函数事件
iapp对图片进行base64处理
原理:使用httpbin.org对图片数据进行处理
iapp事件代码
t()
{
s api = "http://httpbin.org/post"
// 因为huf函数使用post请求所以要使用httpbin post链接
s file = "/storage/emulated/0/Pictures/WeiXin/1.jpg"
// 图片本地地址 如无法上传 使用%代替/storage/emulated/0/
s type = "utf-8"
// 编码
huf(api, "" , file, type, e)
syso(e)
}
返回结果
{
"args": {},
"data": "",
"files": {
"file": "data:image/jpeg;base64,图片数据"
},
"form": {},
"headers": {
"Accept-Encoding": "gzip",
"Charset": "utf-8",
"Content-Length": "121",
"Content-Type": "multipart/form-data;boundary=******",
"Host": "httpbin.org",
"User-Agent": "",
"X-Amzn-Trace-Id": "Root=1-6191e183-110116c866c95ea842fa6c2a"
},
"json": null,
"origin": "IP地址",
"url": "http://httpbin.org/post"
}
云函数接收数据
进入控制台新建云函数
选择python3.6
创建API网关触发
注意要不要勾选集成响应 否则下面的代码运行后会显示错误
云函数Python处理图片代码
这里的return没有使用集成响应的格式,如果勾选了集成响应会显示错误,集成响应的格式在官方文档的云函数API网关触发可以看到。
# -*- coding: utf8 -*-
import json
def main_handler(event, context):
# 处理传入的数据
try:
body = event['body']
data = json.loads(body)
file = data['files']['file'] #文件
except:
return {
"code":500,
"msg":"文件为空"
}
# 判断是否图片base64数据
try:
img = re.sub(r'data:image/(jpeg|png|gif);base64,','',file)#去除文件类型
except:
return {
"code":501,
"msg":"这不是一张图片"
}
# 写入到图片
try:
imgdata = base64.b64decode(img)
file_path = '/tmp/test.jpg'
fo = open(file_path,'wb')
fo.write(imgdata)
fo.close()
# 图片保存成功 云函数可以操作/tmp目录
# 这里执行你的逻辑
except:
return {
"code":502,
"msg":"服务器保存图片错误"
}
获取API网关访问路径
iapp上传httpbin的回调数据到云函数
t()
{
s api = "http://httpbin.org/post"
s tapi ="https://iapi.1ove.icu/release/i-up-up"
//api网关的地址(这是我的写的图床接口,大家可以使用)
s file = "/storage/emulated/0/Pictures/WeiXin/1.jpg"
//上传的文件
s type = "utf-8"
//上传到httpbin 传入 参数e
huf(api, "" , file, type, e)
//上传 参数e 到云函数
hs(tapi,e,type,ee)
//ee 结果
}
源码
Blog:i.1ove.icu
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假