gpt4 book ai didi

firebase - 每次使用 Flutter/Firebase 按下上传时,如何创建唯一的图像 ID?

转载 作者:行者123 更新时间:2023-12-03 02:50:23 24 4
gpt4 key购买 nike

我正在尝试制作一个图片上传按钮并将其链接到 Firebase,这样每次按下按钮时,图片都会发送到 Firebase 存储。以下是我的代码的相关片段:

  // Files, and references
File _imageFile;
StorageReference _reference =
FirebaseStorage.instance.ref().child('myimage.jpg');

Future uploadImage() async {
// upload the image to firebase storage
StorageUploadTask uploadTask = _reference.putFile(_imageFile);
StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;

// update the uploaded state to true after uploading the image to firebase
setState(() {
_uploaded = true;
});
}
// if no image file exists, then a blank container shows - else, it will upload
//the image upon press
_imageFile == null
? Container()
: RaisedButton(
color: Colors.orange[800],
child: Text("Upload to Firebase Storage"),
onPressed: () {uploadImage();}),

但是,每次按下此按钮时,图像都会覆盖具有相同名称的预先存在的图像,我想知道是否有办法使每次按下按钮时,图像的名称都会改变,并且因此,原始图像不会被覆盖。我非常感谢我能得到的任何帮助,因为我对 Flutter 和 Firebase 还很陌生。

谢谢!

最佳答案

我认为您正在寻找 UUID 生成器。

幸运的是,有一个包装:uuid

String fileID = Uuid().v4(); // Generate uuid and store it.

现在您可以使用 zip 作为文件的名称。

NOTE When you upload your file you may want to generate new uuid to avoid using the old one :)



还有一件事: 请不要使用 DateTime.now() 想想如果两个用户同时上传一张图片!!

关于firebase - 每次使用 Flutter/Firebase 按下上传时,如何创建唯一的图像 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61065490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com