如何在颤振中将“应用程序/八位字节流”内容类型中的图像发送到 Azure 认知服务

问题描述

您好,我正在尝试使用 application/octet-stream' 内容类型将本地图像从 Flutter 发送到 Azure 认知服务。 我遵循了以下内容,但似乎缺少示例。唯一的例子是'application/json'

Future getAnalisis() async {
    final uri =
        "https://****.cognitiveservices.azure.com/vision/v3.1/analyze?visualFeatures=Categories,Description&details=Landmarks";
    final respon = await http.post(
      uri,body: _file,headers: {
        'Ocp-Apim-Subscription-Key': '*****','Content-Type': 'application/octet-stream'
      },);
    _imageVision = serializers.deserializeWith(
        ImageVision.serializer,jsonDecode(respon.body));
    notifyListeners();
  }

_file 来自

final pickedFile = await picker.getimage(source: ImageSource.camera);
if (pickedFile != null) _file = File(pickedFile.path);

我也尝试了以下但它当然错误

   body: jsonDecode({'url' : _file.path}),'Content-Type': 'application/json'
      },

目前我的错误信息是

 Invalid request body "File:
'/storage/emulated/0/Android/data/com.example.testRun/files/Pictures/7702e794-3a57-4a3a-a271-fd7c0964544d
4388330820207050041.jpg'".

解决方法

body: _file.readAsBytesSync(),