использовать Firebase Storage с Admin sdk node.js - PullRequest
0 голосов
/ 09 июня 2019

Я хочу использовать Firebase Storage с помощью Admin SDK, потому что для использования gcd нужна платная учетная запись.

Я много пытался использовать gcd без платной учетной записи, но я не нашел способа сделать это всложность использования хранилища gcd была сложной.

Я пытался найти ответы в документации Firebase, но упомянутая документация по функциям не работает вообще.поэтому я решил опубликовать ответ на эту проблему, чтобы он мог помочь другим людям

1 Ответ

1 голос
/ 09 июня 2019

В конце концов, я нашел способ использовать Admin SDK, чтобы использовать хранилище firebase для загрузки и загрузки файлов

. Сначала вы должны установить firebase-admin

npm install -save firebase-admin

Я не помню, нужно ли вам устанавливать @ firebase / storage или нет

давайте сначала разберемся с кодом, который вы должны инициировать

var admin = require("firebase-admin");
var firebase = require("firebase");
var serviceAccount = require("path/to/your/private/ket.json");

закрытый ключ генерируется из firebaseConsole

firebaseConsole-> Настройки проекта-> учетная запись службы -> генерировать закрытый ключ

теперь вы можете использовать корзину firebase

admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
storageBucket: "{storageBucket}"
});
var bucket = admin.storage().bucket();

вы можете найти storageBucket здесь, рядом с кнопкой {загрузить файл}

enter image description here

Теперь давайте рассмотрим, как загружать фотографии в мою папку с именемрис 'вы можете использовать его без создания каких-либо подпапок'

uploadPic (picName, Picture) => {

db.bucket.upload(Picture.path, {
    destination: "pic/" + picName,
    metadata: {
        contentType: Picture.mimetype,
        cacheControl: 'public, max-age=31536000'
    }
}, (err, file) => {
    if (err) {
        console.log(err);
    } else {
        console.log('done');
    }
    return;
});
};

вам нужно отправить все файлы для этой функции или путь к вашей фотографии и mimetype есть необходимая информация, вам тоже нужно отправить идентификатор такесли вы ищете его, чтобы вы могли найти его.

этот код используется для получения URL-адреса изображения

let baseUrl = 'https://firebasestorage.googleapis.com/v0/b/'+'{storageBucket }'+'/o/'+'{folderName}'+'%2F';

getPicUrl (pictureName) => {
db.bucket.getFiles({ prefix: 'pic/' + pictureName}).then((file) => {
    var token = file[0][0].metadata.metadata.firebaseStorageDownloadTokens;
    baseUrl = baseUrl + pictureName+ '?alt=media&token=' + token;
    return;
}).catch((err) => {
    console.log(err.message);
});
return baseUrl;
};

эта функция будет возвращать URL-адрес загрузки, который можно использовать для отображения этого файла или загрузки,

, что все, что я знаюЯ пытался объяснить это наилучшим образом. Надеюсь, вам понравится

Удачи:)

...