当前位置: 首页 > 知识库问答 >
问题:

存储具有唯一/随机名称的文件

关胜
2023-03-14

借助新的 Firebase API,您可以通过客户端代码将文件上传到云存储中。这些示例假定文件名在上传过程中是已知的或静态的:

// Create a root reference
var storageRef = firebase.storage().ref();
    
// Create a reference to 'mountains.jpg'
var mountainsRef = storageRef.child('mountains.jpg');
    
// Create a reference to 'images/mountains.jpg'
var mountainImagesRef = storageRef.child('images/mountains.jpg');

// File or Blob, assume the file is called rivers.jpg
var file = ...
    
// Upload the file to the path 'images/rivers.jpg'
// We can use the 'name' property on the File API to get our file name
var uploadTask = storageRef.child('images/' + file.name).put(file);

随着用户上传自己的文件,名称冲突将成为一个问题。如何让Firebase创建文件名而不是自己定义?数据库中是否有类似于<code>push()的<code>功能来创建唯一的存储引用?

共有3个答案

慕烨烁
2023-03-14

首先安装uuid-npm i uuid

然后像这样定义文件引用

import { v4 as uuidv4 } from "uuid";

const fileRef = storageRef.child(
            `${uuidv4()}-${Put your file or image name here}`
          );

之后,使用文件与文件一起上传Ref

fileRef。把(你的文件)

陈季
2023-03-14

这是使用dart的人的解决方案

使用以下方式生成当前日期和时间戳:-

var时间=DateTime.now()。millisecondsSinceEpoch.toString();

现在使用以下方式将文件上传到Firebase存储:-

等待FirebaseStorage.instance.ref('图像/$time.png'). putFile(yourfile);

您甚至可以使用以下方式获取可下载的url:-

var url=waitFirebaseStorage.instance.ref('image/$time.png'). getDownloadURL();

赵朝
2023-03-14

Firebase存储产品经理:

太长别读:使用UUID生成器(在Android(UUID)和iOS(NSUUID),它们是内置的,在JS中你可以使用这样的东西:在JavaScript中创建GUID/UUID?),然后附加文件扩展名,如果你想保留它(拆分“.”上的file.name并获取最后一个段)

我们不知道开发人员希望使用哪一版本的独特文件(见下文),因为有很多这样的用例,所以我们决定将选择权留给开发人员。

images/uuid/image.png   // option 1: clean name, under a UUID "folder"
image/uuid.png          // option 2: unique name, same extension
images/uuid             // option 3: no extension

在我看来,在我们的文档中解释这是一件合理的事情,所以我将在内部提交一个错误来记录它:)

 类似资料:
  • 问题内容: 这就是我在1到6之间生成唯一编号并从drawable文件夹中获取适当图像的方式。 我想要的是,我必须调用此方法7次,并且每次此方法应返回唯一的随机数。因此,所有已选择的数字都不会再次出现。 问题答案: 解决此类问题的常用方法是创建一个包含每个可能值的列表,并对其进行混洗(使用Collections.shuffle)。然后,每当您需要一个值时,便从列表中消费一项。这将确保您不会多次使用相

  • 问题内容: 是否可以让您的用户下载其他名称的文件? 例如,有一个名为“ 4324ffsd34.jpg”的文件。我希望人们通过download.php以不同的名称(例如“ filetodownload.jpg”)下载它,而不重命名原始文件。 问题答案: 当然,请使用Content-disposition 标头 如果您希望提供默认文件名,而不是自动下载,那么这似乎可行。

  • 当前试图生成特定范围内的随机数;并确保它与其他存储记录相比是唯一的。 使用MySQL。可以像id,递增;但不可能是。 谢谢你的帮助

  • 问题内容: 我创建了以下方法,以便创建唯一的随机数。(此唯一值属于树的节点): 但这并不会创建唯一的数字,并且我的列表中仍然有重复的数字。喜欢 : 问题答案: 问题是,如果它发现重复的数字,您不会在检查函数中停止for循环。循环继续进行,b可以变回true。 例如,您应该做的是:

  • 问题内容: 我正在尝试获取一个随机数列表,并将其放入队列中,而不会重复任何随机数。 通过上面的代码,我得到了一些随机数的重复 有人知道怎么做吗? 问题答案: 这个怎么样: 在某个范围内“添加唯一的随机数”等效于将范围内的所有数字相加,然后对结果进行混排。

  • 问题内容: 看起来Instagram网站上的for每天都在变化。现在是,明天将是另一回事。例如(我把它缩短了,链接很长): 话虽如此,我需要修复脚本并对其进行硬编码,以便能够抓取该网页。 有人告诉我,我可以用来查找并将其存储以备后用。但是我仍然不知道如何实现这一目标,因此硒或汤可以从中获取并在以后存储或解析。 我现在所得到的就是这个。它有点脏,不是正确的,但是想法就在那里。 运行它时,我得到此输出