setFromURL method
Implementation
Future<bool> setFromURL(final BuildContext context, {
required final String url,
final Map<String, String>? headers,
final int ? maxSize,
final Function()? onAdd
}) async {
// Validate URL format
if (!_urlPattern.hasMatch(url)) {
reset(error: true);
return false;
} else {
_extension = url.split('/').last.split('.').last;
if(!_fileTypes.contains(_extension)){
reset(error: true);
return false;
}
}
return HttpService.downloadImage(headers: headers, url: url).then((bytes) async {
if(bytes != null) {
return await setFromBytes(
name : _className,
bytes : bytes,
extension : url.split('/').last.split('.').last,
maxSize : maxSize,
onAdd : onAdd
).then((_) => true);
} else {
reset(error: true);
return false;
}
}).onError((error, stackTrace){
reset(error: true);
return false;
});
}