Baseflow / Baseflow/flutter_cache_manager

[Bug] Getting "HttpException: Invalid statusCode: 403" error

未关闭
#366 3 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。