copyFile method

  1. @override
Future<FileModel?> copyFile(
  1. String sourceBucketId,
  2. String sourceFileId, {
  3. String? bucketId,
})
override

Implementation

@override
Future<FileModel?> copyFile(String sourceBucketId, String sourceFileId, {String? bucketId}) async {
  try {
    await initialize();

    bucketId ??= myConfig!.serverConfig.storageConnInfo.bucketId;
    var sourceFile = await _storage!.getFile(bucketId: sourceBucketId, fileId: sourceFileId);
    var sourceFileData = await getFileData(sourceFileId, bucketId: sourceBucketId);
    Uint8List? sourceFileBytes = await getFileBytes(sourceFileId, bucketId: sourceBucketId);
    if(sourceFileData!.thumbnailUrl.isNotEmpty && sourceFileData.thumbnailUrl != sourceFileData.url) {
      return await uploadFile(sourceFile.name, sourceFile.mimeType, sourceFileBytes!, makeThumbnail: true, bucketId: bucketId);
    }
    return await uploadFile(sourceFile.name, sourceFile.mimeType, sourceFileBytes!, bucketId: bucketId);
  } catch (error) {
    logger.info("error at Storage.copyFile >>> $error");
  }
  return null;
}