qiniu / dart-sdk

Qiniu Resource (Cloud) Storage SDK for Dart
24 stars 25 forks source link

可否在获取上传 host 时提供备用机制 #89

Open litang0908 opened 2 weeks ago

litang0908 commented 2 weeks ago

Flutter SDK 中的 DefaultHostProvider ,写死了获取上传域名的地址:

image

但是 api.qiniu.com 域名,在某些地区可能存在访问不通的情况(比如 DNS 污染),就导致始终无法获得上传域名。

参照 Android SDK 中的 AutoZone,提供了以下域名:

uc.qiniuapi.com
kodo-config.qiniuapi.com
uc.qbox.me
image
litang0908 commented 2 weeks ago

已经自行实现,重写了 DefaultHostProvider

src/storage/config/host.dart

commit #4d0bc22d

可通过下面方式引入

  qiniu_flutter_sdk:
    git:
      url: https://github.com/litang0908/qiniu-dart-sdk
      path: flutter
huangbinjie commented 2 weeks ago

其实你可以继承下 HostProvider 然后通过 config 的方式传给 new Storage(config: config)

litang0908 commented 2 weeks ago

其实你可以继承下 HostProvider 然后通过 config 的方式传给 new Storage(config: config)

是的,确实可以从业务层传入一个自己的 config 解决,但是感觉这种应该属于 sdk 内部实现比较好,毕竟是七牛的业务,目前这个 DefaultHostProvider 目前写死使用 api.qiniu.com 一个域名完全不够用,而且这个域名我看 Android sdk 里面,已经标记为 Deprecated 了。