firebase文档上没有太多内容说明使用Firebase admin sdk进行Google云存储时如何使用路径上传文件。
我查看了firebase's documentation,它指定了我可以创建一个存储分区,应该参考google clouds documentation以获得进一步的帮助。
然后,它们还显示了如何创建另一个存储桶以及指向API Reference Documentation的链接,该链接再次向您展示了如何创建另一个存储桶,但是至少这次有一个可供参考的代码示例表。表格中的files链接显示了一个回购示例,该示例具有
SETLOCAL ENABLEDELAYEDEXPANSION
...
set Services[0]=SERVICE1
set Services[1]=SERVICE2
set Services[2]=SERVICE3
set "i=0"
:ServicesLoop
if defined Services[%i%] (
set SERVICE=!Services[%i%]!
echo CurrentService: !SERVICE!
set /a "i+=1"
GOTO :ServicesLoop
)
这很有帮助,因为我可以使用admin来上传文件。
// Uploads a local file to the bucket
storage
.bucket(bucketName)
.upload(filename)
.then(() => {
console.log(`${filename} uploaded to ${bucketName}.`);
})
.catch(err => {
console.error('ERROR:', err);
});
尽管我仍然对如何指定路径一无所知,因为这只是将其置于Firebase存储桶的顶层。有人知道我该如何指定一个路径来使用api更深入地嵌套文件?
答案 0 :(得分:2)
请参阅API documentation for the upload() method。您可以看到上载使用另一个名为“选项”的参数来描述上载。 options对象可能具有称为destination
的属性,用于描述文件应上传到的位置。
(字符串或文件)
保存文件的位置。如果提供字符串,则文件将是 使用字符串作为文件名上传到存储桶。当给一个 文件对象,您的本地文件将被上传到文件对象的 存储桶,并以File对象的名称命名。最后,当这个论点是 省略,文件会使用的名称上传到您的存储桶 本地文件或相对于其域的url路径。
因此,您可以像这样使用它:
bucket.upload('local/file/path', { destination: 'location/in/bucket' })