TF-2245 Fix upload attachment when token expired on mobile
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit f866a3830310767eb20d622a20b2c14a9c286471)
This commit is contained in:
@@ -128,7 +128,9 @@ class AuthorizationInterceptors extends QueuedInterceptorsWrapper {
|
|||||||
|
|
||||||
final response = await _dio.request(
|
final response = await _dio.request(
|
||||||
requestOptions.path,
|
requestOptions.path,
|
||||||
data: BodyBytesStream.fromBytes(uploadExtra[FileUploader.bytesExtraKey]),
|
data: uploadExtra[FileUploader.platformExtraKey] == 'web'
|
||||||
|
? BodyBytesStream.fromBytes(uploadExtra[FileUploader.bytesExtraKey])
|
||||||
|
: File(uploadExtra[FileUploader.filePathExtraKey]).openRead(),
|
||||||
queryParameters: requestOptions.queryParameters,
|
queryParameters: requestOptions.queryParameters,
|
||||||
options: newOptions,
|
options: newOptions,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ class FileUploader {
|
|||||||
static const String bytesExtraKey = 'bytes';
|
static const String bytesExtraKey = 'bytes';
|
||||||
static const String typeExtraKey = 'type';
|
static const String typeExtraKey = 'type';
|
||||||
static const String sizeExtraKey = 'size';
|
static const String sizeExtraKey = 'size';
|
||||||
|
static const String filePathExtraKey = 'path';
|
||||||
|
|
||||||
final DioClient _dioClient;
|
final DioClient _dioClient;
|
||||||
final worker.Executor _isolateExecutor;
|
final worker.Executor _isolateExecutor;
|
||||||
@@ -77,12 +78,24 @@ class FileUploader {
|
|||||||
final headerParam = argsUpload.dioClient.getHeaders();
|
final headerParam = argsUpload.dioClient.getHeaders();
|
||||||
headerParam[HttpHeaders.contentTypeHeader] = argsUpload.mobileFileUpload.mimeType;
|
headerParam[HttpHeaders.contentTypeHeader] = argsUpload.mobileFileUpload.mimeType;
|
||||||
headerParam[HttpHeaders.contentLengthHeader] = argsUpload.mobileFileUpload.fileSize;
|
headerParam[HttpHeaders.contentLengthHeader] = argsUpload.mobileFileUpload.fileSize;
|
||||||
final data = File(argsUpload.mobileFileUpload.filePath).openRead();
|
|
||||||
|
final mapExtra = <String, dynamic>{
|
||||||
|
uploadAttachmentExtraKey: {
|
||||||
|
platformExtraKey: 'mobile',
|
||||||
|
filePathExtraKey: argsUpload.mobileFileUpload.filePath,
|
||||||
|
typeExtraKey: argsUpload.mobileFileUpload.mimeType,
|
||||||
|
sizeExtraKey: argsUpload.mobileFileUpload.fileSize,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
final resultJson = await argsUpload.dioClient.post(
|
final resultJson = await argsUpload.dioClient.post(
|
||||||
Uri.decodeFull(argsUpload.uploadUri.toString()),
|
Uri.decodeFull(argsUpload.uploadUri.toString()),
|
||||||
options: Options(headers: headerParam),
|
options: Options(
|
||||||
data: data,
|
headers: headerParam,
|
||||||
|
extra: mapExtra
|
||||||
|
),
|
||||||
|
data: File(argsUpload.mobileFileUpload.filePath).openRead(),
|
||||||
onSendProgress: (count, total) {
|
onSendProgress: (count, total) {
|
||||||
log('FileUploader::_handleUploadAttachmentAction():onSendProgress: [${argsUpload.uploadId.id}] = $count');
|
log('FileUploader::_handleUploadAttachmentAction():onSendProgress: [${argsUpload.uploadId.id}] = $count');
|
||||||
sendPort.send(
|
sendPort.send(
|
||||||
|
|||||||
Reference in New Issue
Block a user