40 lines
1.1 KiB
Dart
40 lines
1.1 KiB
Dart
// Automatic FlutterFlow imports
|
|
|
|
import 'dart:io';
|
|
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'dart:convert';
|
|
import 'dart:typed_data';
|
|
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',
|
|
);
|
|
}
|
|
}
|