首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中的localhost url中传递json数据?

如何在python中的localhost url中传递json数据?
EN

Stack Overflow用户
提问于 2021-04-08 16:26:37
回答 1查看 231关注 0票数 0

这是HttpTrigger函数。其中,我希望在本地主机(http://localhost:7071/api/HttpTrigger1)中传递二进制图像,并将其附加到参数中,如下面的示例http://localhost:7071/api/HttpTrigger1//9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAc......

我的代码

代码语言:javascript
复制
import base64
import numpy as np
import cv2 as cv


def main(req: func.HttpRequest) -> func.HttpResponse:
    base_64_image_bytes = req.get_body()
    image_bytes = base64.b64decode(base_64_image_bytes)
    img_nparr = np.frombuffer(image_bytes, dtype=np.uint8)
    image = cv.imdecode(img_nparr, cv.IMREAD_COLOR)
    cv.imwrite(TEMP_IMAGE_FILENAME, image)
    return func.HttpResponse("Done", status_code=200)

但是base_64_image_bytes是空的。请帮帮我..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-09 01:47:26

对于这个问题,您不能将二进制文件放在请求url路径中。如果要将二进制文件作为参数放入请求url中,则需要使用url (例如:http://localhost:7071/api/HttpTrigger1?binary=xxxxx )。然后,您可以使用以下代码在函数中获得参数binary

代码语言:javascript
复制
def main(req: func.HttpRequest) -> func.HttpResponse:
    binary = req.params.get('binary')

如果使用您在问题中提到的url:http://localhost:7071/api/HttpTrigger1//9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAc.......,它不能触发您的函数,因为您的函数请求url是http://localhost:7071/api/HttpTrigger1,而不是http://localhost:7071/api/HttpTrigger1//9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAc.......

您也可以将二进制文件放入请求的请求体中。如果是这样,您需要使用"Post“方法来请求您的函数,而不是使用"Get”方法。例如,您使用"Post“方法和请求体请求函数,如:

代码语言:javascript
复制
{
  "binary":"xxxxxx"
}

然后,您可以使用如下代码获取函数中的二进制文件:

代码语言:javascript
复制
req_body = req.get_json()
binary = req_body.get('binary')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67008152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档