古い写真を置き換える新しい写真がサーバーにアップロードされると、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();
}
Consumer
URLが変更されて更新されたと信じ込ませる方法はありますか?