1

我在服务器端(java servlet)获取签名以将其传递给 html 客户端。这是代码:

    Cloudinary cloudinary = new Cloudinary(Cloudinary.asMap("cloud_name", "dvg8fiorp", "api_key", "742866863611915", "api_secret", "zF-GJqVyWjih_MqQGsYeSOVVmJ8"));
    String timestamp = (new Long(System.currentTimeMillis() / 1000L)).toString();
    Map<String, Object> params = new HashMap<String, Object>();
    Map options = Cloudinary.emptyMap();
    boolean returnError = Cloudinary.asBoolean(options.get("return_error"), false);
    String apiKey = Cloudinary.asString(options.get("api_key"), cloudinary.getStringConfig("api_key"));
    if (apiKey == null)
        throw new IllegalArgumentException("Must supply api_key");
    String apiSecret = Cloudinary.asString(options.get("api_secret"), cloudinary.getStringConfig("api_secret"));
    if (apiSecret == null)
        throw new IllegalArgumentException("Must supply api_secret");
    params.put("callback", "http://localhost:8080/SimpleServlet/js/cloudinary_js/html/cloudinary_cors.html");
    params.put("timestamp", timestamp);
    String expected_signature = cloudinary.apiSignRequest(params, apiSecret);

不幸的是,最后一行代码失败,我不知道如何获取签名以将其传递给 html 客户端

4

1 回答 1

0

首先,请注意您的 API Secret不应公开披露。我强烈建议您从安全设置页面( https://cloudinary.com/console/settings/security ) 生成一个新的密钥对或 API 密钥和密钥。

其次,这实际上生成了正确的签名,我设法用它成功上传。

为了进一步理解这个问题:

  • 你得到什么样的错误响应?
  • 请分享您的上传请求代码。

这是服务器的响应:

java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.join(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
com.cloudinary.Cloudinary.apiSignRequest(Cloudinary.java:93)
us.souther.simple.UploadServersideServlet
于 2014-06-24T07:00:30.137 回答