gpt4 book ai didi

java - 如何在 firebase 存储上多次上传可绘制图像?

转载 作者:行者123 更新时间:2023-12-01 16:14:50 26 4
gpt4 key购买 nike

我想知道是否可以多次上传从 Firebase 存储上的可绘制图像中获取的同一图像,以便图像在存储上以不同的名称多次出现。我所做的是:

imageUri=Uri.parse("android.resource://com.example.project/"+R.drawable.error);
riversRef = storageRef.child("images/" + imageUri.getLastPathSegment()+ "_" + System.currentTimeMillis());
uploadTask = riversRef.putFile(imageUri);

但是每次我在存储中使用它时都不会出现任何新图像,只有第一个图像。可能是因为在存储上具有相同的名称(2131230900)并且是相同的图像,存储会忽略它。我想要获得的结果是,我从项目的可绘制对象中获取了两个相同的图像,但在存储中它们结果为 2 个不同的名称

最佳答案

您的 riversRef 是对 Cloud Storage 中特定位置/文件的引用。如果您对同一个引用多次调用 putFile,则您会多次写入同一位置,因此您实际上最终只会得到一个文件

要写入多个唯一文件,您需要为每个文件创建单独的唯一引用。像这样的东西:

riversRef = storageRef.child("images/" + file.getLastPathSegment() + "_" + System.currentTimeMillis());

通过将时间戳添加到此处存储上的文件名称,如果您多次调用它,我们最终会得到唯一的引用。或者像这样的东西也可以工作:

for (int i=0; i < 10; i++) {
riversRef = storageRef.child("images/" + file.getLastPathSegment() + "_" + i);
uploadTask = riversRef.putFile(file);
}

现在我们只是为 Cloud Storage 中的每个文件名添加一个计数器。

关于java - 如何在 firebase 存储上多次上传可绘制图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62429027/

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