upload method
Future<(UResponse<String> ?, UEmptyResponse?, String?)>
upload({
- required UFileManagerUploadParams p,
- required dynamic onOk(),
- required dynamic onError(),
- required dynamic onException(
- String e
Implementation
Future<(UResponse<String>?, UEmptyResponse?, String?)> upload({
required UFileManagerUploadParams p,
required Function(UResponse<String> r) onOk,
required Function(UEmptyResponse e) onError,
required Function(String e) onException,
}) async {
(UResponse<String>?, UEmptyResponse?, String?) result = (null, null, null);
final List<MultipartFile> files = <MultipartFile>[
if (p.file.path != null)
await UHttpClient.multipartFileFromFile("File", File(p.file.path!), filename: p.file.path!.split("/").last)
else if (p.file.bytes != null)
await UHttpClient.multipartFileFromUint8List("File", p.file.bytes!, filename: p.file.path?.split("/").last ?? "file.${p.file.extension ?? "bin"}"),
];
await UHttpClient.upload(
endpoint: "${U.baseUrl}/FileManager/Upload",
files: files,
fields: p.toMap()..addAll(<String, dynamic>{"apiKey": U.apiKey, "token": ULocalStorage.getToken()}),
onSuccess: (Response r) {
final UResponse<String> ok = UResponse<String>.fromJson(r.body, (dynamic i) => i);
result = (ok, null, null);
onOk(ok);
},
onError: (Response r) {
final UEmptyResponse err = UEmptyResponse.fromJson(r.body);
result = (null, err, null);
onError(err);
},
onException: () {
result = (null, null, "");
onException("");
},
);
return result;
}