uploadImage method
Implementation
Future<Map<String, dynamic>> uploadImage({
required Uint8List imageBytes,
required String fileName,
required String token,
required String uploadUrlSever,
}) async {
final url = Uri.parse("$uploadUrlSever/$token");
final mimeType = lookupMimeType(fileName) ?? 'application/octet-stream';
final mediaType = MediaType.parse(mimeType);
final request = http.MultipartRequest("POST", url);
request.files.add(
http.MultipartFile.fromBytes(
'file',
imageBytes,
filename: fileName,
contentType: mediaType,
),
);
try {
final streamedResponse = await request.send();
final response = await http.Response.fromStream(streamedResponse);
if (response.statusCode == 200) {
final Map<String, dynamic> resJson = jsonDecode(response.body);
final uploadUrl = resJson['url'];
return {
'success': true,
'url': uploadUrl,
'message': 'Image uploaded successfully.',
};
} else {
return {
'success': false,
'url': null,
'message': 'Upload failed: ${response.statusCode} - ${response.body}',
};
}
} catch (e) {
return {'success': false, 'url': null, 'message': 'Upload error: $e'};
}
}