flutter_cache_manager
flutter_cache_manager copied to clipboard
[Bug] Getting "HttpException: Invalid statusCode: 403" error
🐛 Bug Report - Getting "HttpException: Invalid statusCode: 403" error
Expected behavior
- I am trying to cache a video file from an open https url:
-
- https://cdn-animation.artstation.com/p/video_sources/000/629/776/shield-05-video.mp4
- The error:
HttpException: Invalid statusCode: 403 - As far as I know, no headers are needed for that url.
- The file size is 13.4 MB.
- I will then use that cached file for playing videos from URLs.
- Actually, I am already doing that and it works as expected for this video url:
-
- https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4
- Important: Even though I can't cache the video from the 1st url I provided, the Video Player plugin can successfully play it. So the url is working indeed.
The code is long but here are the important part.
FileInfo? _fileInfo;
DefaultCacheManager _cacheManager = DefaultCacheManager();
_fileInfo = await _cacheManager.downloadFile(videoUrl, force: true);
// Also tried with --> force: false
// I use *await* but I know it is optional, in my case I need that.
if (_fileInfo == null) {
videoPlayerController = VideoPlayerController.network(videoUrl);
// When the file cannot be cached, the video is played from .network()
} else {
videoPlayerController = VideoPlayerController.file(_fileInfo.file);
// When the file is cached, the video is played from .file()
}
I have also tried adding the key for allowing arbitrary loads on iOS --> NSAllowsArbitraryLoads
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Version:
flutter: 2.10.1
flutter_cache_manager: ^3.3.0
Platform:
- iOS (both device and simulator) - (tried on different iPhones) - (tried on release - debug modes)
I'm also seeing an issue like this.
Why did I suddenly have this same error too? I wanted to access Firebase storage. It used to working well, but now it is always error. Is this error from Firebase or Flutter_Cache_Manager?
Update: Now I know, Firebase is error [check here]

But, how come the package doesn't have any error handling up until now if it is error?
Console getting spammed by these. Ought to be a way to opt out of that without changing package code locally.