将图像发布到 REST API 并使用 Falcon 库收集数据的正确方法是什么?

2023-12-31

我尝试发布图像以通过 REST API 处理它。我使用 falcon 作为后端,但不知道如何发布和接收数据。

这就是我目前发送文件的方式

img = open('img.png', 'rb')
r = requests.post("http://localhost:8000/rec",
files={'file':img},
data = {'apikey' : 'bla'})

然而,在 Falcon 存储库中,他们说 Falcon 不支持 HTML 表单发送数据,而是针对 POST 和 PUT 数据的全部范围,我不区分 POST 图像数据和上面发送的数据。

因此,最终,我想了解发送图像并通过 REST API 接收图像的正确解决方法,该 API 据称是由 Falcon 编写的。你能给一些指点吗?


为此,您可以使用以下方法:

猎鹰 API 代码:

import falcon
import base64
import json

app = falcon.API()
app.add_route("/rec/", GetImage())

class GetImage:

    def on_post(self, req, res):

        json_data = json.loads(req.stream.read().decode('utf8'))
        image_url = json_data['image_name']
        base64encoded_image = json_data['image_data']
        with open(image_url, "wb") as fh:
            fh.write(base64.b64decode(base64encoded_image))

        res.status = falcon.HTTP_203
        res.body = json.dumps({'status': 1, 'message': 'success'})

对于 API 调用:

import requests
import base64

with open("yourfile.png", "rb") as image_file:
    encoded_image = base64.b64encode(image_file.read())

r = requests.post("http://localhost:8000/rec/", 
                  data={'image_name':'yourfile.png',
                        'image_data':encoded_image
                       }
                 )
print(r.status_code, r.reason)

我希望这个能帮上忙。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将图像发布到 REST API 并使用 Falcon 库收集数据的正确方法是什么? 的相关文章

随机推荐

  • 使用默认调试密钥库签名时抛出 SecurityException

    我收到了安全异常从昨天开始 我使用默认调试密钥库的签名保护级别来启动服务 奇怪的是 我在昨天之前没有收到此错误 并且我没有进行任何与安全相关的更改 另一方面 我自己的用于发布的密钥库仍然运行良好 有关的AndroidManifest xml
  • 在python中使用VTK找到3D空间中两个圆柱体的交集

    在 python 中使用 VTK 我编写了一些代码来为我想要的对象创建一个 actor 例如对于气缸 def cylinder object startPoint endPoint radius my color DarkRed USER
  • Xcode 4.5.1 存档时卡住

    我刚刚将我的 xcode 升级到版本 4 5 1 以前一切正常 但现在 当我存档项目时 xcode 卡住 挂起并且永远不会完成归档 在顶部的状态中 文字显示 编译 10 个源文件中的 10 个 之后什么也没有发生 它只是卡住了 我仍然可以编
  • 构建哈希图的哈希图

    我不经常问问题 大多数时候问题可以通过一些研究来解决 对吧 但我只是想听听你的意见 因为可能有更好的 更有效的方法来做到这一点 让我们看看 下面的代码工作得很好并且达到了它的目的 代码的结果是哈希图的哈希图 我需要它作为另一项工作的查找表
  • 页表是如何存储在主存中的?

    我知道页表存储在内存中 每个进程都有自己的表 但是每个表都有与虚拟内存中的虚拟页数相同的条目 那么每个进程怎么可能有一个表并且每个表都驻留在主内存中呢 每个表中的条目数大于主内存中的物理页数 有人可以向我解释一下 我很困惑 提前致谢 通常
  • Java的jps工具内部使用哪个API?

    我需要以编程方式重新创建 jps 工具的功能 我需要找出所有正在运行的 Java 进程及其 ID 以便我可以附加到该进程 类似于 JConsole 的做法 我认为 VirtualMachine API 会有帮助 但当我运行以下命令时没有得到
  • Laravel Blade:复选框将“空”值发送到数据库

    我不明白 选中时 我的复选框将 空 值发送回我的控制器 如果它在数据库中 它会返回检查 但是当我取消选中它 然后再次检查它时 我的表单发送一个 空 值我做错了什么 div class col div
  • 如何在 PowerShell 中通过 ::parsexact 解析日期时间?

    我在尝试使用 PowerShell 解析字符串并将其转换为 DateTime 格式时遇到问题 parseexact 有人能告诉我我哪里不好吗 这是我的代码 datetime parseexact 2018 05 07T15 19 17 83
  • Linq 存储过程问题 - 返回 int

    我正在尝试使用 Linq 调用存储过程 该存储过程在 SQL 中返回值很好 但是当我将其拖到 DBML 文件并尝试从我的代码中调用它时 它返回 找不到源类型 int 的查询模式的实现 未找到 选择 我查看了我拥有的其他线程和其他存储过程 出
  • Vagrant 配置程序上的 docker 守护进程版本是什么?

    我试图了解如果选择了 Docker 配置程序 Vagrant 在其虚拟机上安装的版本 我的具体情况 使用 box ubuntu trusty64 特别是 我希望它是一个固定版本 因为它必须反映我的暂存环境 不幸的是 在提供者的文件 http
  • React Native DuplicateError:重复的文件或模拟

    更新 xCode 后 我在一周内面临以下错误 我无法在设备上运行应用程序 我不认为问题出在 xcode 上 因为即使我尝试在 Android 设备上运行也会出现同样的问题 当我们使用重置选项运行 npm start 时会出现此问题 也会发生
  • 合并 RxJS/Angular 6 中相互依赖的不同 HTTP 调用

    我已经尝试找到这个答案有一段时间了 但作为 RxJS 和 Angular 2 的新手 我正在寻找一种方法来组合两个 HTTP GET 调用的结果 一旦一个呼叫完成 就必须根据该结果进行新的呼叫 第一次调用的结果将与第二次调用的结果合并 最好
  • Firefox 不显示 SVG

    我有一个使用 SVG 制作图像地图的页面 在 IE9 和 Chrome 中工作正常 但 FireFox 和 Opera 正在裁剪图像 尽管翻转仍然有效 该网站在这里 http www kollegetown com http www kol
  • 在文本框内放置一个按钮

    我正在尝试设计一个表单 在文本框中包含一个按钮 我希望该按钮位于文本框内 这就是我尝试的方法 div class row div class col sm 6 div class form group required div div di
  • SQL;仅计算每列中指定的值

    在 SQL 中 我有一个名为 answer 的列 其值可以是 1 或 2 我需要生成一个 SQL 查询来计算每个月 1 和 2 的数量 我有以下查询 但它不起作用 SELECT MONTH date YEAR date COUNT answ
  • - 自定义样式/css

    有没有办法制作
  • Elasticsearch 错误“引导检查失败”(绑定非环回地址)

    最近 安装Elasticsearch 7 3 2后 我发现服务器在绑定到localhost或127 0 0 1时工作正常 但我让它可供外部使用 即在特定的 IP 或 0 0 0 0 上 它引发了我的错误并停止了服务器 绑定或发布到非环回地址
  • 如何从命令行启动 Scala 方法?

    这个问题可能听起来有点愚蠢 但我不知道如何从命令行启动 Scala 方法 我编译了以下文件Test scala package example object Test def print println Hello World with s
  • 使用“LIMIT 1”是否可以加快主键查询速度?

    如果我有一个主键id我对密钥做了一个简单的查询 例如 SELECT id FROM myTable WHERE id X 它会找到一行然后停止查找 因为它是主键 还是最好告诉 mysql 通过使用来限制其选择LIMIT 1 例如 SELEC
  • 将图像发布到 REST API 并使用 Falcon 库收集数据的正确方法是什么?

    我尝试发布图像以通过 REST API 处理它 我使用 falcon 作为后端 但不知道如何发布和接收数据 这就是我目前发送文件的方式 img open img png rb r requests post http localhost 8