我想将图像上传到 Cloudinary。我已经用 firebase 做到了这一点,效果很好。但是,客户想要 Cloudinary。
我正在传递字节数组,如下所示
val outputStream = ByteArrayOutputStream()
capture.compress(Bitmap.CompressFormat.JPEG, 100, outputStream)
val data = outputStream.toByteArray()
val config = HashMap<String, String>()
config.put("cloud_name", "carflux")
MediaManager.init(requireContext(), config)
val uploadRequest = MediaManager.get().upload(data).unsigned("of6bplnq")
.option("resource_type", "image")
.maxFileSize(5 * 1024 * 1024)
uploadRequest.dispatch(requireContext())
我收到错误
MediaManager is already initialized
我已经彻底检查过了,我只在一个地方初始化了它。
我还有什么做错的地方吗?
科特林 我通过创建一个静态对象并创建一个函数来启动实例(如果未初始化)来修复它。
**物体**
object ApplicationObject{
private var mediaManager: Any? = null
fun startMediaManager(context:Context){
if (mediaManager == null){
val config = HashMap<String, Any>()
config["cloud_name"] = "socialseller"
config["secure"] = false
mediaManager = MediaManager.init(context, config)
}
}
}
注意:仅传递应用程序上下文 活动中
ApplicationObject.startMediaManager(this.applicationContext)
在片段中
ApplicationObject.startMediaManager(requireContext().applicationContext)
Java
您可以创建一个全局单例对象 MediaManagerState 和一个公共静态方法 isMediaManagerInitialized()
public class MediaManagerState {
private static boolean isMediaManagerInitialized = false;
public static boolean isMediaManagerInitialized() {
return isMediaManagerInitialized;
}
public static void initializeMediaManager() {
isMediaManagerInitialized = true;
}
}
如果有人有任何其他想法请告诉我,我已经尽力了