urlFileSaver method
Implementation
Future<String?> urlFileSaver({required String url, String? fileName}) async {
try {
final extension = url.split(".").last.split("?").first;
// Download image
final http.Response response = await http.get(Uri.parse(url));
// Get temporary directory
final dir = await getTemporaryDirectory();
fileName ??= getRandomString(10);
// Create an image name
var filename = '${dir.path}/$fileName.$extension';
// Save to filesystem
final file = File(filename);
await file.writeAsBytes(response.bodyBytes);
// Ask the user to save it
final params = SaveFileDialogParams(sourceFilePath: file.path);
final finalPath = await FlutterFileDialog.saveFile(params: params);
return finalPath;
} catch (e) {
rethrow;
}
}