Baseflow / Baseflow/flutter_cache_manager
removeFile do not remove my file
- Dominant language
- Dart
- Stars
- 809
- Forks
- 510
- Avg merge
- 6m
- Merged PRs (30d)
- 1
Description
## 🐛 Bug Report
I am trying to remove a specific file from the cache and clear cache too.
### Expected behavior
(The problem only occurs in Android)
My customer take a picture with the application and he can retry to take another one if the first is not good, so I want to remove the previous picture from the cache folder of the application :
/data/user/0/*package_name*/cache/customCache/*file_name*
But nothing happens when I call the function from my CustomCacheManager class.
### Reproduction steps
This is my CustomCacheManager like your example :
```
class CustomCacheManager extends BaseCacheManager {
static const key = "customCache";
static CustomCacheManager _instance;
factory CustomCacheManager() {
if (_instance == null) {
_instance = new CustomCacheManager._();
}
return _instance;
}
CustomCacheManager._() : super(key,
maxAgeCacheObject: Duration(days: 2),
maxNrOfCacheObjects: 20);
@override
Future getFilePath() async {
var directory = await getTemporaryDirectory();
return join(directory.path, key);
}
Future removePicture(String file) async {
await removeFile(file);
}
Future clearCustomCache() async {
await emptyCache();
}
}
```
I am trying to remove the picture like that :
```
retryTakePicture(String imageToRemove) async {
await _customCacheManager.removePicture(imageToRemove).then((_) {
***some code***
});
}
```
So when I retry to take the picture, the file is not removed from the cache so I got CameraException :
```CameraException(fileExists, File at path /data/user/0/*package_name*/cache/customCache/*file_name*' already exists. Cannot overwrite.)```
I don't know if I misunderstood the purpose of the removeFile method or if it's a bug.
And I have the same problem with `emptyCache()`.
### Configuration
**Version:** 1.2.2
**Platform:**
No problem on iOS
Contributor guide
Assessment
This issue has not been assessed yet.