0

古い写真を置き換える新しい写真がサーバーにアップロードされると、Provider with ChangeNotifier警告するために使用しています。Consumer問題は、写真が単に上書きされ、同じ名前のままであるため、URL が同じままであることです。したがって、消費者は何かが変更されたことを認識せず、古い写真を新しい写真で更新しません。

ChangeNotifier をだまして URL を更新させるにはどうすればよいですか? これConsumerが私のビルドです。

  Consumer<SocialProvider>(
             builder: (context, socialProvider, child) {
               return Image.network(socialProvider.currentavatar,
            );
       }),

ギャラリーで画像が選択され、サーバー上の古い画像を上書きするためにアップロードされます。

    GestureDetector(
              onTap: () async {
                   await socialProvider.loadCurrentUserId();
                   await _listener.openGallery(socialProvider.currentuserid);
                   String updatedavatar = "http://example.com/same_photo.jpg";
                   socialProvider.updateAvatar(updatedavatar);
                  },

ChangeNotifier を使用した Provider のコードは次のとおりです。

Future<void> updateAvatar(String avatar) async {
     var box = await Hive.openBox('currentuser');
      box.put('currentavatar', avatar);
      currentavatar = avatar;
      notifyListeners();
     }

ConsumerURLが変更されて更新されたと信じ込ませる方法はありますか?

4

1 に答える 1