uploadImage method
Método que sube una imagen al bucket de almacenamiento de Supabase.
Utiliza el bucket avatars
y guarda el archivo en la carpeta users/
con el nombre especificado.
Parámetros:
file
: Archivo de imagen a subir.fileName
: Nombre con el que se guardará el archivo en el bucket.
Retorna:
String?
: URL pública del archivo si la subida fue exitosa, onull
si ocurrió algún error durante la operación.
Implementation
Future<String?> uploadImage(File file, String fileName) async {
try {
final fileBytes = await file.readAsBytes();
final mimeType = lookupMimeType(file.path);
final response = await supabase.storage.from('avatars').uploadBinary(
'users/$fileName',
fileBytes,
fileOptions: FileOptions(contentType: mimeType),
);
if (response.isEmpty) return null;
return supabase.storage.from('avatars').getPublicUrl('users/$fileName');
} catch (e) {
DatabaseHelper.logger.e("Error al subir imagen: $e");
return null;
}
}