fromUrl method
Future<String>
fromUrl(
- String url, {
- Duration checkInterval = const Duration(seconds: 1),
- bool? storeMode,
- ProgressListener? onProgress,
Make upload to /fromUrl
endpoint
Implementation
Future<String> fromUrl(
String url, {
Duration checkInterval = const Duration(seconds: 1),
bool? storeMode,
ProgressListener? onProgress,
}) async {
final request = createMultipartRequest(
'POST',
buildUri('$uploadUrl/from_url/'),
false,
)..fields.addAll({
'pub_key': publicKey,
'store': resolveStoreModeParam(storeMode),
'source_url': url,
if (options.useSignedUploads) ..._signUpload(),
});
final token =
(await resolveStreamedResponse(request.send()))['token'] as String;
await for (UrlUploadStatusEntity response
in _urlUploadStatusAsStream(token, checkInterval)) {
if (response.status == UrlUploadStatusValue.Error) {
throw ClientException(response.errorMessage);
}
if (response.status == UrlUploadStatusValue.Success) {
return response.fileInfo!.id;
}
if (response.progress != null && onProgress != null) {
onProgress(response.progress!);
}
}
throw ClientException('Unsupported response received');
}