В конце концов, я нашел способ использовать 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](https://i.stack.imgur.com/aJ3o4.png)
Теперь давайте рассмотрим, как загружать фотографии в мою папку с именемрис 'вы можете использовать его без создания каких-либо подпапок'
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-адрес загрузки, который можно использовать для отображения этого файла или загрузки,
, что все, что я знаюЯ пытался объяснить это наилучшим образом. Надеюсь, вам понравится
Удачи:)