Документация Google Cloud Storage для download()
предполагает, что можно указать папку назначения:
file.download({
destination: '/Users/me/Desktop/file-backup.txt'
}, function(err) {});
Независимо от того, какое значение я добавлю в свой файл, оно всегда загружается в Firebase Cloud Storage на корневом уровне. Этот вопрос говорит о том, что путь не может иметь начальную косую черту, но изменение примера на
file.download({
destination: 'Users/me/Desktop/file-backup.txt'
}, function(err) {});
не имеет значения.
Изменение пункта назначения на
file.download({
destination: ".child('Test_Folder')",
})
привело к сообщению об ошибке:
EROFS: read-only file system, open '.child('Test_Folder')'
Какой правильный синтаксис для облачного хранилища destination
(папка и имя файла)?
Изменение корзины с myapp.appspot.com
на myapp.appspot.com/Test_Folder
привело к сообщению об ошибке:
Cannot parse JSON response
Кроме того, в качестве примера указывается путь к жесткому диску персонального компьютера. Кажется странным настроить папку Cloud Storage для Desktop
. Означает ли это, что есть способ указать место назначения, отличное от Cloud Storage?
Вот мой код:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.Storage = functions.firestore.document('Storage_Value').onUpdate((change, context) => {
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const bucket = storage.bucket('myapp.appspot.com');
bucket.upload('./hello_world.ogg')
.then(function(data) {
const file = data[0];
file.download({
destination: 'Test_Folder/hello_dog.ogg',
})
.then(function(data) {
const contents = data[0];
console.log("File uploaded.");
})
.catch(error => {
console.error(error);
});
})
.catch(error => {
console.error(error);
});
return 0;
});