Baseflow / Baseflow/flutter_cache_manager
[Bug] Getting "HttpException: Invalid statusCode: 403" error
- 主要语言
- Dart
- 星标
- 809
- 派生
- 510
- 平均合并
- 6 分钟
- 30 天内合并 PR
- 1
描述
## 🐛 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.
```dart
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
```
NSAppTransportSecurity
NSAllowsArbitraryLoads
```
### 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)
贡献指南
调研方向
未指定任何仓库文件或测试。请从报告中的 downloadFile 调用开始,追踪 cache-manager 如何处理所提供的 ArtStation URL 的 HTTP 响应,然后将其与 iOS 上的 Flutter 示例视频 URL 进行比较。完成的标准是重现 403 行为,并确定 cache-manager 针对该响应的适当行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- dart, flutter
- 领域
- mobile-dev, networking
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100