71 callback.
onError(
"No se pudo inicializar Cloudinary");
77 final byte[] imageBytesToUpload = imageBytes.clone();
80 String timestamp = String.valueOf(System.currentTimeMillis());
83 String uniqueFileName =
"user_" + timestamp;
86 String requestId = MediaManager.get().upload(imageBytesToUpload)
87 .option(
"folder",
"profile_images")
88 .option(
"public_id", uniqueFileName)
89 .unsigned(
"ml_default")
90 .callback(
new UploadCallback() {
92 public void onStart(String requestId) {
93 Log.d(TAG,
"Comenzando subida a Cloudinary...");
98 public void onProgress(String requestId,
long bytes,
long totalBytes) {
99 double progress = (double) bytes / totalBytes;
104 public void onSuccess(String requestId, Map resultData) {
105 String url = (String) resultData.get(
"url");
106 String secureUrl = (String) resultData.get(
"secure_url");
108 String finalUrl = secureUrl !=
null ? secureUrl : url;
110 Log.d(TAG,
"Subida exitosa a Cloudinary. URL: " + finalUrl);
115 public void onError(String requestId, ErrorInfo error) {
116 Log.e(TAG,
"Error en subida a Cloudinary: " + error.getDescription());
117 callback.
onError(error.getDescription());
121 public void onReschedule(String requestId, ErrorInfo error) {
122 Log.d(TAG,
"Reprogramando subida a Cloudinary: " + error.getDescription());
127 }
catch (Exception e) {
128 Log.e(TAG,
"Error al subir imagen a Cloudinary: " + e.getMessage());
129 callback.
onError(
"Error: " + e.getMessage());