flutter-freaccess-hub/lib/shared/utils/image_util.dart

39 lines
1.0 KiB
Dart

// Automatic FlutterFlow imports
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:path_provider/path_provider.dart';
import '../../flutter_flow/uploaded_file.dart';
class ImageUtils {
static Future<String?> convertImageFileToBase64(
FFUploadedFile imageFile) async {
List<int>? imageBytes = imageFile.bytes;
if (imageBytes != null) {
String base64Image = base64Encode(imageBytes);
return base64Image;
}
return null;
}
static Future<FFUploadedFile> convertToUploadFile(String img) async {
// Decode the base64 string into bytes
Uint8List bytes = base64.decode(img);
// Create a temporary file to store the image
final tempDir = await getTemporaryDirectory();
final tempPath = tempDir.path;
final tempFile = await File('$tempPath/image.jpg').create();
await tempFile.writeAsBytes(bytes);
// Create an FFUploadedFile object using the temporary file
return FFUploadedFile(
bytes: bytes,
name: 'image.jpg',
);
}
}