Есть ли способ загрузить изображение, не удаляя старое изображение в хранилище файловой базы? - PullRequest
0 голосов
/ 09 апреля 2019

Я могу загрузить изображение и дать ему name.jpg, а затем передать его на имя объекта для загрузки в базу данных.Проблема в том, что только одна картинка может остаться в огненной базе.Я хочу иметь возможность хранить несколько изображений.

Я не смог найти способ изменить это.Этот код ниже - это функция доступа к галерее или вы можете сделать так, чтобы она получала доступ к камере.Я могу отправить изображение в хранилище Firebase, но сохранить только одно изображение, а предыдущее будет удалено.Я не хочу этогоЯ хочу иметь возможность хранить изображения без удаления предыдущего изображения.


class _MyHomePageState extends State<MyHomePage> {
  File sampleImage;

  Future getImage() async {
    var tempImage = await ImagePicker.pickImage(source: ImageSource.gallery);

    setState(() {
      sampleImage = tempImage;
    });
  }




RaisedButton( 
            elevation: 7.0,
            child: Text('Upload'),
            textColor: Colors.white,
            color: Colors.blue,
            onPressed: () {
              final StorageReference firebaseStorageRef =     FirebaseStorage.instance.ref().child('myimage.jpg');
              final StorageUploadTask task = firebaseStorageRef.putFile(sampleImage);

            },
          )
        ],
      ),
    );
  }
}

1 Ответ

0 голосов
/ 09 апреля 2019

Так что есть несколько вариантов.Прежде всего, каждый раз, когда вы загружаете файл с тем же именем в тот же каталог в хранилище Firebase, он заменяет существующий файл.На самом деле есть два варианта:

  1. Изменить имя файла каким-либо образом.Довольно простой способ сделать это - добавить текущее время даты к изображению, т.е. "myimage_" + Calendar.getInstance().getTime() + ".jpg".Вам, возможно, придется импортировать утилиту Календарь здесь.
  2. Добавить изображение в уникальный каталог.В хранилище Firebase вы можете создавать каталоги, как на локальном компьютере.Для этого в параметре дочернего метода вы передаете строку стиля URI, например imgName = images/uniqueidentifier/myimage.jpg, чтобы сохранить файл 'myimage.jpg' в путь 'images / uniqueidentifier.'

Возможно, вы захотитечтобы сохранить эти пути к изображениям где-нибудь, например, в пожарном депо, чтобы потом было легче взаимодействовать.

https://firebase.google.com/docs/storage/android/upload-files дальнейшее чтение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...