【问题标题】:How to sent image in 'application/octet-stream' content type to Azure Cognitive Services in flutter如何在颤动中将“应用程序/八位字节流”内容类型的图像发送到 Azure 认知服务
【发布时间】:2021-02-12 05:49:43
【问题描述】:

您好,我正在尝试将使用 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}),
      headers: {
        'Ocp-Apim-Subscription-Key': '*****',
        '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'".

【问题讨论】:

    标签: flutter rest azure-cognitive-services flutter-http


    【解决方案1】:

    body: _file.readAsBytesSync(),

    【讨论】:

    • 非常感谢,它也适用于await _file.readAsBytes() to
    猜你喜欢
    • 2016-03-08
    • 2016-10-19
    • 2019-06-15
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2014-10-08
    • 2015-06-01
    • 2015-08-11
    相关资源
    最近更新 更多