【问题标题】:How to retrieve an URL from an API response object from Cloudinary JAVA如何从 Cloudinary JAVA 的 API 响应对象中检索 URL
【发布时间】:2021-03-27 04:44:15
【问题描述】:

我正在使用 Java 开发一个 Web 应用程序。我将我的应用程序部署到 Heroku。在 Heroku 中,我使用名为 Cloudinary 的附加组件将我的图片存储在云中,并在需要时检索它们。我正在使用搜索 api 从 cloudinary 云中检索图片,但我无法从响应 api 访问 url。以下是我的 Java 代码:

String nameOfPicture = nameOfRecipe;
    Cloudinary cloudinary = null;
    try {
        cloudinary = new Cloudinary(String.valueOf(new URI(System.getenv("CLOUDINARY_URL"))));
    } catch (URISyntaxException e) {
        System.err.println(e);
    }

    String imgUrl = null;
    try {
        ApiResponse result = cloudinary.search()
                .expression(nameOfPicture)
                .maxResults(10)
                .execute();
        System.out.println(result.get("resources"));
        System.out.println(result.get("url"));
        
    } catch (Exception e) {
        System.err.println(e);
    } 

如果我 System.out.println(result.get("resources")) 我可以看到来自 cloudinary 的响应如下:

[{
        aspect_ratio = 1.77778,
        access_control = null,
        format = jpg,
        resource_type = image,
        secure_url = https: //res.cloudi nary.com/...../POULTRY/ACAPULCO_CHICKEN.jpg, created_at=2020-12-15T18:12:39+00:00, backup_bytes=0, type=upload, ve rsion=1608055959, access_mode=public, created_by={access_key=..., external_id=......}, url=http://res.cloudinary.com /...../v1608055959/FOOD_IMG/POULTRY/ACAPULCO_CHICKEN.jpg, public_id=FOOD_IMG/POULTRY/ACAPULCO_CHICKEN, uploaded_by={access_key=....... .., external_id=.......}, folder=FOOD_IMG/..., filename=...., pixels=360000, uploaded_at=2020-12-15T18:12:39
            +00: 00,
        bytes = 131330,
        width = 800,
        etag = ce45a927d98e07e1c73bd16030218f96,
        height = 450,
        status = active
    }, {
        aspect_ratio = 0.66667,
        access_control = null,
        format = j pg,
        resource_type = image,
        secure_url = https: //res.cloudinary.com/...../FOOD_IMG/POULTRY/ADOBO_CHICKEN_GINGER.jpg, created_at= 2020-12-15T16:40:52+00:00, backup_bytes=0, type=upload, version=1608050452, access_mode=public, created_by={access_key=....., external_id=.......}, url=http://res.cloudinary.com/hmzve6z5z/image/upload/..../POULTRY/ADOBO_CHICKEN_GINGER.jpg, public_id=FOOD_ IMG/POULTRY/ADOBO_CHICKEN_GINGER, uploaded_by={access_key=...., external_id=......}, folder=FOOD_IMG/POULTRY, filenam e=ADOBO_CHICKEN_GINGER, pixels=960000, uploaded_at=2020-12-15T16:40:52+00:00, bytes=242816, width=800, etag=......d, height=120 0, status=active}]

问题是,我如何从这个响应中访问和检索图片的 url? 谢谢!

【问题讨论】:

    标签: cloudinary


    【解决方案1】:

    响应是一个 JSON 对象,您可以遍历它并获取 secure_url。

    JSONArray jsonArray = outerObject.getJSONArray("resources");
    for (int i = 0, size = jsonArray.length(); i < size; i++) {
        JSONObject objectInArray = jsonArray.getJSONObject(i);
        String secure_url=objectInArray.get("secure_url").toString();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      相关资源
      最近更新 更多