saveFromPath method

  1. @override
Future<String> saveFromPath({
  1. required String path,
})
override

Future method saveFromPath takes the String path return String value the path of savedFile Or It Can return String ERROR From catch()

Implementation

@override
Future<String> saveFromPath({required String path}) async {
  try {
    if (path.isNotEmpty) {
      final value = File(path);
      if (value.existsSync()) {
        final fData = value.readAsBytesSync();
        if (fData.isNotEmpty) {
          final fName = _baseName(path);
          final fType = _baseType(path);
          final val = await _saveFile(fileName: fName);
          if (val.isNotEmpty) {
            if (val.endsWith(fType)) {
              final fF = File(val);
              fF.writeAsBytesSync(fData);
              return fF.path;
            } else {
              final fF = File(val);
              fF.writeAsBytesSync(fData);
              var newPath = val.substring(
                      0, val.lastIndexOf(Platform.pathSeparator) + 1) +
                  _baseName(val) +
                  fType;
              fF.renameSync(newPath);
              return newPath;
            }
          } else {
            return "Couldn't Write File Data";
          }
        } else {
          return "Couldn't Read File Data";
        }
      } else {
        return "NotExist";
      }
    } else {
      return "No Path";
    }
  } catch (e) {
    return e.toString();
  }
}