getPreviewRaw method
Get a preview for a shared file.
This method and the response it returns is experimental. The API might change without a major version bump.
Returns a Future containing a DynamiteRawResponse with the raw HttpClientResponse and serialization helpers. Throws a DynamiteApiException if the API call does not return an expected status code.
Parameters:
file
File in the share. Defaults to''
.x
Width of the preview. Defaults to32
.y
Height of the preview. Defaults to32
.a
Whether to not crop the preview. Defaults to0
.token
Token of the share.oCSAPIRequest
Required to be true for the API request to pass. Defaults totrue
.
Status codes:
- 200: Preview returned
- 400: Getting preview is not possible
- 403: Getting preview is not allowed
- 404: Share or preview not found
See:
- getPreview for an operation that returns a DynamiteResponse with a stable API.
Implementation
@experimental
DynamiteRawResponse<Uint8List, void> getPreviewRaw({
required String token,
String? file,
int? x,
int? y,
int? a,
bool? oCSAPIRequest,
}) {
final _parameters = <String, dynamic>{};
final _headers = <String, String>{
'Accept': '*/*',
};
// coverage:ignore-start
final authentication = _rootClient.authentications.firstWhereOrNull(
(auth) => switch (auth) {
DynamiteHttpBearerAuthentication() || DynamiteHttpBasicAuthentication() => true,
_ => false,
},
);
if (authentication != null) {
_headers.addAll(
authentication.headers,
);
}
// coverage:ignore-end
final $token = jsonSerializers.serialize(token, specifiedType: const FullType(String));
_parameters['token'] = $token;
var $file = jsonSerializers.serialize(file, specifiedType: const FullType(String));
$file ??= '';
_parameters['file'] = $file;
var $x = jsonSerializers.serialize(x, specifiedType: const FullType(int));
$x ??= 32;
_parameters['x'] = $x;
var $y = jsonSerializers.serialize(y, specifiedType: const FullType(int));
$y ??= 32;
_parameters['y'] = $y;
var $a = jsonSerializers.serialize(a, specifiedType: const FullType(int));
$a ??= 0;
_parameters['a'] = $a;
var $oCSAPIRequest = jsonSerializers.serialize(oCSAPIRequest, specifiedType: const FullType(bool));
$oCSAPIRequest ??= true;
_headers['OCS-APIRequest'] = const dynamite_utils.HeaderEncoder().convert($oCSAPIRequest);
final _path =
UriTemplate('/index.php/apps/files_sharing/publicpreview/{token}{?file*,x*,y*,a*}').expand(_parameters);
return DynamiteRawResponse<Uint8List, void>(
response: _rootClient.executeRequest(
'get',
_path,
_headers,
null,
const {200},
),
bodyType: const FullType(Uint8List),
headersType: null,
serializers: jsonSerializers,
);
}