Baseflow / Baseflow/flutter_cache_manager

url 404 and retry always 404

Đang mở
#473 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Dart
Star
809
Fork
510
Merge trung bình
6 phút
Pull request đã merge (30 ngày)
1

Mô tả

## 💬 Questions and Help

Here I'm using cached_network_image to loading network image. It may not exists with the giving image url, when I get 404 from errorListener, I async image to the url to make sure url is available. After that I refresh the CachedNetworkImage, still get error 404 from errorWidget.

```
Widget imgWidget() {
return CachedNetworkImage(
imageUrl: _imageUrl,
imageBuilder: (context, imageProvider) {
return Container(
decoration: BoxDecoration(
image: DecorationImage(
image: imageProvider,
fit: widget.fit,
),
),
);
},
placeholder: (context, url) {
return widget.placeholder;
},
errorWidget: (context, url, error) {
return widget.placeholder;
},
errorListener: (e) {
if (e is HttpException) {
logger.d('----- errorListener ${e.uri.toString()} - ${e.message}');
if (e.message.contains('404')) {
_syncImage();
}
} else {
logger.d('Image Exception is: ${e.runtimeType}');
}
},
);
}

_syncImage() async {
HttpManager().syncImageToCdnUrl(_imageUrl).then((_) {
setState(() { });
}).catchError((onError) {
logger.d(onError);
});
}

```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với điểm vào CachedNetworkImage, đặc biệt là errorListener, errorWidget và hành vi refresh sau khi _syncImage gọi setState. Tái hiện chuỗi trong đó URL ban đầu trả về 404, URL được đồng bộ hóa và widget được làm mới; hoàn tất khi hình ảnh đã làm mới không còn báo cáo 404 được lưu trong bộ nhớ đệm khi URL khả dụng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
dart, flutter
Lĩnh vực
mobile-dev
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
30/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.