Как сделать аналог Python post запроса во Flutter?
подскажите пожалуйста в чем может быть проблема?) У меня есть рабочий python запрос. Как мне переписать его на flutter? У меня есть что-то вроде следующего кода, но он на этапе base64 кодирования дает результат отличный от python запроса на одно и то же изображение, и я не знаю в чем проблема:
Future<String> postRequest(filepath, url) async {
final bytesImg = File(filepath).readAsBytesSync();
var base64Encode = base64.encode(bytesImg);
var body = json.encode({
'image': base64Encode,
});
var response = await http.post(
url,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Simple simx6EUjtNIjwjhMtYn8iau01Cw1'
},
body: body,
);
var bytes = base64Decode(json.decode(response.body)['result']['image']);
String dir = (await getApplicationDocumentsDirectory()).path;
var uuid = Uuid();
var uuidImgName = uuid.v1();
String fullPath = '$dir/$uuidImgName.jpg';
File file = File(fullPath);
await file.writeAsBytes(bytes);
return file.path;
}
Вот рабочий python запрос:
import base64
import cv2
import requests
from PIL import Image
from numpy import asarray
image = Image.open('/home/user/4.jpg')
data = asarray(image)
_, cartoon_img_encoded = cv2.imencode('.jpg', data)
bytes_utf_8 = base64.b64encode(cartoon_img_encoded)
body = {
'image': bytes_utf_8
}
r = requests.post(
'http://my-server.com',
data=body
)
print(r.text) # Просто для отображения
