我很难用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);
答案 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)。