1

У меня есть сервер Node.js и я использую Google облако пакет загрузить некоторые файлы изображений Firebase хранения.Node.js Google облако загрузка хранения спецификация назначение

Загрузка сама по себе прекрасно работает, но API google-cloud, похоже, может загружать файлы в корневую папку Firebase Storage.

Можно ли указать удаленное местоположение для загрузки изображения?

Что я делаю сейчас:

const serviceAccount = require('./serviceAccount.json'); 

const storage = gcloud.storage({ 
    projectId: '*projectId*', 
    credentials: serviceAccount 
}); 

const storageBucket = storage.bucket('*bucket*'); 

storageBucket.upload(localFsPath) 
    .then(data => /* Some stuff */) 
    .catch(err => console.log(err)); 

Есть ли способ сделать что-то вроде этого?

storageBucket.upload(path, { destination: 'a/b/c/file.jpg' }) 
    .then(data => /* Some stuff */) 
    .catch(err => console.log(err)); 
+1

Вы пробовали использовать '{destination: newPath}'? потому что это точно, как это работает. см. [doc] (https://googlecloudplatform.github.io/google-cloud-node/#/docs/google-cloud/0.44.0/storage/bucket?method=upload) –

ответ

1

Как отметил @ Жером, подход был верным. Я упустил неправильный формат строки пути назначения, который был «/ x/y // z».

Существует, очевидно, 2 ошибки.

Во-первых, путь должен начинаться не с '/', а с имени узла (файла/папки).

Вторая проблема (часть «//») не вызывала API API, но вызывала Firebase для рекурсивного создания endless Вложенная структура узлов (папок) с именем '/'.

Смежные вопросы