我有一個影像,我想將它發送到服務器。我正在使用requests模塊來執行簡單的發布請求如下(資訊是一個字典):
import requests
print(type(info["array_image"]))
print(type(info["visual_features"]))
response = requests.post("url", data=info)
輸出 :
<class 'numpy.ndarray'>
<class 'torch.Tensor'>
在服務器端,我試圖至少將它們作為陣列接收:
from flask import Flask, request
@app.route('/path', methods=['POST'])
def function_name():
visual_features = request.form['visual_features']
array_image = request.form['array_image']
print(type(array_image))
print(type(visual_features))
輸出:
<class 'str'>
<class 'str'>
我想得到一個位元組陣列來構建影像,但我得到的是一個字串......如果我沒有找到一種方法,我將在 bas64 中對陣列進行編碼,然后在服務器中對其進行解碼......
uj5u.com熱心網友回復:
感謝@praba230890 為我提供了一個易于理解的示例。
我仍然會在這里寫下解決方案,因為提供的鏈接不完全適合我的情況。
import pickle
import io
array_image = pickle.dumps(info["array_image"])
stream = io.BytesIO(array_image)
files = {"array_image": stream}
info["array_image"] = None
response = http.post("url", data=info, files=files)
并在服務器端:
from flask import Flask, request
@app.route('/path', methods=['POST'])
def function_name():
image = request.files.get('array_image')
array_image = image.read()
如果要從檔案中獲取影像,則:
requests.post("http://localhost:5000/predict",
files={"file": open('<PATH/TO/.jpg/FILE>/cat.jpg','rb')})
uj5u.com熱心網友回復:
您可以嘗試將資料轉換為正確的JSON或使用Python泡菜模塊或者如果你有,你剛才提到的影像,你可以把它作為一個檔案(多請求)的服務器實體中所示這里。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/372356.html
