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 {
  //print(
  //    'sourceFileId:$sourceFileId'); //ks-park-sqisoft-com.3ca5a91e9da54c6e8e10781758e3e4d5/content/image/05ede4a4a175bd4f538ca018ab3e1a72test1.jpg
  //print(
  //    'bucketId(target):$bucketId'); //ks-park-sqisoft-com.43c6ea3c83284a838dbabcd947e9e6f9

  //파일 존재 여부
  final file = await getFileData(sourceFileId);
  if (file != null) {
    //print('파일 존재 fileModel:${file.toDetailString()}');
  }
  final removeUserFolderPath =
      sourceFileId.substring(sourceFileId.indexOf('/'));

  ///content/image/05ede4a4a175bd4f538ca018ab3e1a72test1.jpg
  //print('removeUserFolderPath:$removeUserFolderPath');

  final targetFileId = '$bucketId$removeUserFolderPath';
  //print(
  //    'targetFileId:$targetFileId'); //ks-park-sqisoft-com.43c6ea3c83284a838dbabcd947e9e6f9/content/image/05ede4a4a175bd4f538ca018ab3e1a72test1.jpg
  try {
    // ignore: unused_local_variable
    final copyResult =
        await Supabase.instance.client.storage.from(mainBucketId).copy(
              sourceFileId,
              targetFileId,
            );
    //print('copyFile success result:$copyResult');
    return await getFileData(targetFileId);
  } catch (e) {
    //print('copyFile error:$e');
    logger.severe('copyFile error:$e');
    return null;
  }
}