【问题标题】:Unable to format file to upload to Cloudinary无法格式化文件以上传到 Cloudinary
【发布时间】:2020-09-01 11:04:36
【问题描述】:

我正在尝试使用上传并直接调用 REST API 将图像从 Flutter 应用程序发送到 Cloudinary,但出现此错误:

{"error":{"message":"Invalid file parameter. Make sure your file parameter does not include '[]'"}}

我尝试将图像编码为一个字节数组,base64Encode 但没有一个奏效,我遵循了这个documentation

有人知道如何编码文件以便我发送吗?

谢谢

编辑:

@override
  Future<void> getImageSignature(File image) async {
    return await _callWithExceptionWrap(() async {
      if (image != null) {
        DateTime dateTime = DateTime.now();
        String url = _formatUrlForUploadSignature();
        Dio dio = NetworkUtils.createDioConnection();
        debugPrint('REQUEST TO SERVER');
        Response serverResponse = await dio.post(url, data: {
          "paramsToSign": {
            'public_id': 'public_id_654',
            "timestamp": dateTime.millisecondsSinceEpoch,
            "upload_preset": "signed_preset",
            "source": "uw",
          }
        });
        debugPrint('REQUEST TO CLOUDINARY');
        String signature = serverResponse.data['signature'];
        List<int> bytes = image.readAsBytesSync();
        var base64Image = base64Encode(bytes);

        Map<String, dynamic> map = {
          'api_key': _CLOUDINARY_API_KEY,
          'public_id': 'public_id_654',
          'signature': signature,
          'source': 'uw',
          'timestamp': dateTime.millisecondsSinceEpoch,
          'upload_preset': 'signed_preset',
          'file': base64Image,
        };
        debugPrint('json : ${map}');
//      FormData formData = new FormData.fromMap(map);
        Response cloudinaryResponse = await dio.post(_CLOUDINARY_URL, data: map);
        debugPrint('*************************** Cloudinary response : ${cloudinaryResponse.data}');
      }
    });

签名没问题,因为我没有收到 401 错误(我从服务器收到的签名。

这里是云端网址: _CLOUDINARY_URL = 'https://api.cloudinary.com/v1_1//image/upload';

【问题讨论】:

    标签: flutter cloudinary


    【解决方案1】:

    这不是在公共客户端(移动应用)上使用的正确 api,您不应该公开您的 API_KEY 和 API_SECRET。请查看这个包,它使用正确的 api 上传文件https://pub.dev/packages/cloudinary_public

    【讨论】:

      猜你喜欢
      • 2017-10-14
      • 2018-04-08
      • 2017-02-24
      • 2015-11-06
      • 2021-08-18
      • 2021-05-10
      • 1970-01-01
      • 2015-03-27
      • 2014-01-12
      相关资源
      最近更新 更多