It seems like the problem of uploading the images to Firebase Storage and updating the URL to Firestore is related to how the file is maintained in your code. You should make sure that, after the image upload is complete, you are changing the state correctly using setState, like this: setState(() { ImageUrl = imageUrl; fileImage = File(pickedFile.path); });. Also, let the uploadTask complete by adding TaskSnapshot snapshot = await uploadTask.whenComplete(() => null); right before trying to get the download URL. On web platforms, other than showing the image by the file path, you should directly use Image.network with the download URL because Image.file will only work for local files, which may not be the case for uploading on the web. These will be used to display the uploaded image and update it correctly in Firestore.