我想使用AdminSDK使用firebase存储,因为使用gcd需要付费帐户。
我曾尝试过在没有付费帐户的情况下使用gcd,但除了使用gcd存储非常复杂之外,我没有找到一种方法。
我试图在Firebase留档中找到答案,但提到的功能留档根本不起作用。所以我决定发布这个问题的答案,这样它就可以帮助其他人
毕竟,我找到了一种使用AdminSDK使用firebase存储上传和下载文件的方法
首先,您应该安装Firebase-admin
npm安装--保存firebase管理员
我不记得是否必须安装@firebase/storage
让我们先来了解一下您必须启动的代码
var admin = require("firebase-admin");
var firebase = require("firebase");
var serviceAccount = require("path/to/your/private/ket.json");
私钥是从firebaseConsole生成的
firebaseConsole-
现在您可以使用firebase bucket
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
storageBucket: "{storageBucket}"
});
var bucket = admin.storage().bucket();
您可以在{upload file}按钮旁边找到storageBucket
现在让我们来看看如何将图片上传到我的名为pic的文件夹“你可以使用它而无需制作任何子文件夹”
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有必要的信息,你也需要发送id,所以如果你搜索它,你可以找到它。
此代码用于获取图片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,您可以使用该URL显示或下载此文件
我所知道的一切,我试图用最好的方式解释它,我希望你喜欢它
祝你好运:)
问题内容: 我正在尝试在我的watchKit应用中使用firebase数据库。我已经在我的iPhone应用程序上开发了此功能,但是发现在我的Watch应用程序上很难做到这一点。当我尝试将firebase导入watch应用程序的VC类中时,它正在创建error 。 可以在Watch app中使用Firebase吗? 问题答案: 可悲的是,没有支持,并由于这样的事实,有没有支持在这些版本中,并高度依赖
我正在使用工作箱来缓存我的应用程序外壳。网络选项卡显示请求来自serviceWorker,并且资产在快速检索时肯定会被缓存,即使在离线模式下也是如此: 但是,缓存存储选项卡始终为空: 我试图通过控制台请求相同的资产: 瞧,资产显示: 我担心我错过了一些基本的东西。 顺便说一下,缓存存储在我的本地环境中显示正确,因此我怀疑这是来自CDN的资产的问题。
有没有办法在Firebase主机上使用Brotli压缩而不是gzip?我知道Firebase会自动压缩它,但到目前为止,它只使用gzip。
问题内容: Jenkins中建立一个托管在bitbucket上的项目时,我将在URL字段中输入什么? 该存储库是私有的。 问题答案: 我对Jenkins并不熟悉,但是Bitbucket允许您通过https克隆git存储库,https可以接受密码作为url的一部分,如下所示:
我是Gradle/Groovy的新手,所以我可能遗漏了一些显而易见的东西。你能帮忙吗? 我们使用Ivy进行依赖管理。我正在试用Gradle,希望与我们现有的常春藤基础设施集成。通常情况下,这应该是可能的,但我们的常春藤的布局有点特别,而且...我不能让它工作。 这是因为我们的常春藤在布局时考虑了组织的url,例如: 我现在试着把这句话翻译成Gradle: 这当然是失败的,因为“[organizat
我有一个名为UserRepository的通用存储库接口。然后我有一个接口,它从MyUserRepository扩展而来。它处理一个MyUser类,该类扩展了User。 我还有一个名为UserService的服务接口和一个名为MyUserServiceImpl的类。 该服务需要UserRepository的实例,我虽然可以使用某种注释,如@Qualifer,但它不起作用。 应用程序无法启动 说明: