update
This commit is contained in:
parent
27f00e43a7
commit
3572f90b24
24 changed files with 290 additions and 257 deletions
|
|
@ -1,69 +1,47 @@
|
|||
import 'dart:convert';
|
||||
import 'dart:developer';
|
||||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:pharmacy_mobile/widgets/snackbar_widget.dart';
|
||||
import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
|
||||
class Storage {
|
||||
final SupabaseClient _supabase = Supabase.instance.client;
|
||||
|
||||
Future<String> createBucket(String name) async {
|
||||
Future<bool> createBucket(String name) async {
|
||||
try {
|
||||
final response = await _supabase.storage.createBucket(name);
|
||||
return response;
|
||||
} catch (e, stackTrace) {
|
||||
log('Error creating bucket: $e', stackTrace: stackTrace);
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<List> getList() async {
|
||||
try {
|
||||
final response = await _supabase.storage.listBuckets();
|
||||
return response;
|
||||
} catch (e, stackTrace) {
|
||||
log('Error getting list: $e', stackTrace: stackTrace);
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> uploadFile(XFile image, String name) async {
|
||||
try {
|
||||
final imageString = await image.readAsString(encoding: utf8);
|
||||
final imageFile = File(imageString);
|
||||
await _supabase.storage.from('images').upload(name, imageFile);
|
||||
log('upload Complete');
|
||||
return response.isNotEmpty;
|
||||
} catch (e) {
|
||||
log('Error getting list: $e');
|
||||
rethrow;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<String> uploadImage(BuildContext context, String storage, Uint8List image, String name) async {
|
||||
Future<bool> uploadImage(BuildContext context, String storage, Uint8List image, String name) async {
|
||||
try {
|
||||
final imageBytes = image;
|
||||
final imagePath = name;
|
||||
|
||||
await _supabase.storage.from(storage).uploadBinary(imagePath, imageBytes);
|
||||
final imageUrl = _supabase.storage.from(storage).getPublicUrl(imagePath);
|
||||
return imageUrl;
|
||||
return imageUrl.isNotEmpty;
|
||||
} catch (e) {
|
||||
// ignore: use_build_context_synchronously
|
||||
showNotification(context, 'Error uploading image: $e', false);
|
||||
rethrow;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<Uint8List> downloadImage(String storage, String name) async {
|
||||
final Uint8List file = await _supabase.storage.from(storage).download(name);
|
||||
return file;
|
||||
try {
|
||||
final Uint8List file = await _supabase.storage.from(storage).download(name);
|
||||
return file;
|
||||
} catch (e) {
|
||||
return Uint8List(0);
|
||||
}
|
||||
}
|
||||
|
||||
Future<String> getPublicURL(String storage, String name) async {
|
||||
final String file = _supabase.storage.from(storage).getPublicUrl(name);
|
||||
return file;
|
||||
try {
|
||||
final String file = _supabase.storage.from(storage).getPublicUrl(name);
|
||||
return file;
|
||||
} catch (e) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue