2016-10-21 1 views
1

Как загрузить файл в Google Cloud в конкретном каталоге каталога (например, foo)?Загрузите файл в Google Cloud в конкретном каталоге

"use strict"; 

const gcloud = require("gcloud"); 

const PROJECT_ID = "<project-id>"; 

let storage = gcloud.storage({ 
    projectId: PROJECT_ID, 
    keyFilename: 'auth.json' 
}); 

let bucket = storage.bucket(`${PROJECT_ID}.appspot.com`) 
bucket.upload("1.jpg", (err, file) => { 
    if (err) { return console.error(err); } 
    let publicUrl = `https://firebasestorage.googleapis.com/v0/b/${PROJECT_ID}.appspot.com/o/${file.metadata.name}?alt=media`; 
    console.log(publicUrl); 
}); 

Я пробовал:

bucket.file("foo/1.jpg").upload("1.jpg", ...) 

Но нет upload метода там.

Как я могу отправить 1.jpg в каталог foo?

В Firebase, на стороне клиента, я:

ref.child("foo").put(myFile); 

ответ

4
bucket.upload("1.jpg", { destination: "YOUR_FOLDER_NAME_HERE/1.jpg" }, (err, file) => { 
    //Do something... 
}); 

Это поставит 1.jpg в YOUR_FOLDER_NAME_HERE -folder.

Here - это документация. Кстати, gcloud устарел, и вместо этого вы должны использовать google-cloud.

-1

Я думаю, просто добавив Foo/в имя файла должно работать, как bucket.upload("foo/1.jpg", (err, file) ... В GCS, каталоги просто вопрос, имеющий «/» в имя файла.

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

  • Нет связанных вопросов^_^