在Kotlin中实现Cloudinary Signed Upload

时间:2018-02-22 01:44:04

标签: kotlin cloudinary

我很难用Kotlin实现对Cloudinary的签名上传。我已经实现了我的后端,为我提供了一个signture和时间戳。这就是我为构建配置所做的工作:

var config = HashMap<String, Any> ()
        config.put("cloud_name", "my_cloud_name");
        //config.put("apiKey", my_api_key);
        config.put("use_filename", true);

现在,我无法使用签名执行MediaManager.init。有人可以帮忙吗? Java代码说要执行以下操作,但我无法在Kotlin中重现相同的内容:

MediaManager.init(this, new SignatureProvider() {
    @Override
    public Signature provideSignature(Map options) {
        // call server signature endpoint
    }
}, null);

1 个答案:

答案 0 :(得分:0)

这是您使用Kotlin中的签名提供程序初始化MediaManager的方式:

MediaManager.init(thiscontext!!, object: SignatureProvider {
        override fun provideSignature(options: MutableMap<Any?, Any?>?): Signature {
            return myBackendConnector.signRequest(options)
        }

        override fun getName(): String {
            return "myCustomSignatureProvider"
        }

    }, config)

这将起作用,假设您的后端已经有api键(它应该),并且连接器的返回类型是Signature。否则,您需要将后端的结果调整为Signature(使用服务器提供的结果填充POJO)。