如何在 python 中传递本地主机 url 中的 json 数据?
How to pass json data in localhost url in python?
这是HttpTrigger函数。我想在本地主机 (http://localhost:7071/api/HttpTrigger1) 中传递二进制图像作为附加到参数,如下所示
例子
http://localhost:7071/api/HttpTrigger1//9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAc......
我的代码
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 是空的。请帮帮我....
对于这个问题,您不能将二进制文件放在请求url路径中。如果你想把二进制文件作为请求的参数url,你需要使用url,比如:http://localhost:7071/api/HttpTrigger1?binary=xxxxx
。然后你可以在你的函数中使用代码获取参数binary
:
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”方法请求函数,请求正文如下:
{
"binary":"xxxxxx"
}
然后您可以使用如下代码在您的函数中获取二进制文件:
req_body = req.get_json()
binary = req_body.get('binary')
这是HttpTrigger函数。我想在本地主机 (http://localhost:7071/api/HttpTrigger1) 中传递二进制图像作为附加到参数,如下所示 例子 http://localhost:7071/api/HttpTrigger1//9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAc......
我的代码
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 是空的。请帮帮我....
对于这个问题,您不能将二进制文件放在请求url路径中。如果你想把二进制文件作为请求的参数url,你需要使用url,比如:http://localhost:7071/api/HttpTrigger1?binary=xxxxx
。然后你可以在你的函数中使用代码获取参数binary
:
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”方法请求函数,请求正文如下:
{
"binary":"xxxxxx"
}
然后您可以使用如下代码在您的函数中获取二进制文件:
req_body = req.get_json()
binary = req_body.get('binary')