Articles of firebase storage

使用Firebasefunction更新存储更改上的Firebase数据库

我试图在我的Android应用程序中实现configuration文件图片function。 所以我使用了来自Firebase的“ 生成缩略图”样本。 所以每当我上传一个完整大小的图片,它会为我生成缩略图。 但是我想要在缩略图生成后更新我的实时数据库中的缩略图的URL。 const functions = require('firebase-functions'); const mkdirp = require('mkdirp-promise'); const gcs = require('@google-cloud/storage')(); const spawn = require('child-process-promise').spawn; const LOCAL_TMP_FOLDER = '/tmp/'; // Max height and width of the thumbnail in pixels. const THUMB_MAX_HEIGHT = 100; const THUMB_MAX_WIDTH = 100; // Thumbnail prefix added to file names. const THUMB_PREFIX = 'thumb_'; /** […]

在Google云端存储中使用nodejs gcloud api移动/重命名文件夹

我正尝试使用gcloud api重命名或移动Google云端存储中的文件夹。 类似的问题解释了如何删除文件夹: 使用nodejs gcloud api删除Google云端存储中的文件夹 但是,如何重命名一个文件夹? 或移动到另一个path?

在NodeJS服务器端保护Firebase存储的外部链接

我在生成外部链接到存储在我的Firebase存储分区中的文件时遇到问题。 我现在正在使用Google云端存储,并使用此库(基于此答案)为常规存储桶生成外部链接,但在Firebase分配的存储桶上使用该库似乎不起作用。 我无法生成任何安全的HTTPS链接,并继续获取证书validation错误NET::ERR_CERT_COMMON_NAME_INVALID指出我的连接不是私有的。 如果我从HTTPS中删除“S”,则链接起作用。 注意:使用相同的凭据和私钥为我的项目中的其他存储桶生成链接,工作得很好。 只有Firebase存储分区拒绝接受我的签名…

如何使用Firebase云function存储制作文件夹

我怎样才能使文件夹“职位”? 存储桶 – > gs://app.appspot.com/posts 码 exports.generateThumbnail = functions.storage.object() .onChange(event => { const object = event.data const filePath = object.name const fileName = filePath.split('/').pop() const fileBucket = object.bucket; const bucket = gcs.bucket(fileBucket) const tempFilePath = `/posts/${fileName}` return bucket.file(filePath).download({ destination: tempFilePath }) .then(() => { console.log('image downloaded locally to', tempFilePath) return spawn('convert', [tempFilePath, '-thumbnail', '400×400>', tempFilePath]) […]

从Firebasefunction(节点)上传时,Firebase存储文件types未设置

通过Firebase函数(节点)将转换后的图像(.jpg)上传到谷歌存储时,我在元数据选项中设置了contentType。 return bucket.file(filePath).download({destination: tempFilePath}) .then(() => { console.log('Image downloaded locally to', tempFilePath); // Generate a thumbnail using ImageMagick. return spawn('convert', [tempFilePath, '-thumbnail', '200×200>', tempFilePath]) }) .then(() => { console.log('Thumbnail created at', tempFilePath); // Add a 'thumb_' prefix to thumbnails file name. That's where we'll upload the thumbnail. const thumbFilePath = filePath.replace(/(\/)?([^\/]*)$/, `$1thumb_$2`); // Uploading the […]

Firebasefunction可以在使用NodeJS从数据库中删除对象时从存储中删除文件

我是NodeJS的新手,我正在尝试为Firebase的云端函数编写下一个方法。 我正在努力实现的是: 当用户从Firebase DB中移除Photo对象时,该function应该被触发; 该代码应该从对应于Photo obj的存储中移除文件对象。 这些是我的Firebase数据库结构: 照片/ {userUID} / {} photoUID { "dateCreated": "2017-07-27T16:40:31.000000Z", "isProfilePhoto": true, "isSafe": true, "uid": "{photoUID}", "userUID": "{userUID}" } Firebase存储格式: 照片/ {userUID} / {} photoUID .PNG 和我正在使用的NodeJS代码: const functions = require('firebase-functions') const googleCloudStorage = require('@google-cloud/storage')({keyFilename: 'firebase_admin_sdk.json' }) const admin = require('firebase-admin') const vision = require('@google-cloud/vision')(); admin.initializeApp(functions.config().firebase) exports.sanitizePhoto = functions.database.ref('photos/{userUID}/{photoUID}') .onDelete(event […]

存储上的Firebasefunction是否存在通配符?

我已成功使用Firebasefunction对我上传到Firebase存储的文件执行操作。 我目前想要做的是通过使用通配符访问我正在推送数据的文件夹,其实现方式与实时数据库+ Firestore相同。 但是,每当我尝试访问这些参数,他们只返回null 。 这不可能吗? 这是我的代码的一个例子: exports.generateThumbnail = functions.storage.object('user-photos/{userId}/{publicOrPrivate}').onChange(event => { const privateOrPublic = event.params.publicOrPrivate; const isPrivate = (event.params.publicOrPrivate == "private"); const userId = event.params.userId; console.log("user id and publicOrPrivate are", userId, privateOrPublic); //"user id and publicOrPrivate are undefined undefined" } 谢谢!

如何使用云端函数删除文件?

当我在Firebase数据库中删除post时,我希望云function可以相应地删除post在Firebase存储中的缩略图。 我的问题是,当我试图删除缩略图我不认为我正确定位图像文件。 这是我所尝试的: const functions = require('firebase-functions') const admin = require('firebase-admin') const gcs = require('@google-cloud/storage')() exports.deletePost = functions.database.ref('Posts/{pushId}').onWrite(event => { const original = event.data.val() const previous = event.data.previous.val() const pushId = event.params.pushId if (original === null) return const filePath = 'Posts/' + pushId + 'thumbnail.jpg' const bucket = gcs.bucket('postsapp-12312') const file = bucket.file(filePath) const pr […]

使用适用于Firebase的Cloud Functions和@ google-cloud / storage删除图片时出现问题

我正在尝试在Fire的Cloud Functions中创build一个脚本,该脚本将对db事件作出反应,并删除其中一个参数(“fullPath”)中具有其path的图像。 这是我使用的代码: 'use strict'; const functions = require('firebase-functions'); const request = require('request-promise'); const admin = require('firebase-admin'); const gcs = require('@google-cloud/storage')({ projectId: 'XXXXXXX', credentials: { // removed actual credentials from here }}); admin.initializeApp(functions.config().firebase); // Deletes the user data in the Realtime Datastore when the accounts are deleted. exports.removeImageOnNodeRemoval = functions.database .ref("images/{imageId}") .onWrite(function (event) { // […]

从使用Cloud Functions for Fire上传的文件获取下载url

在Firebase存储中使用Firebasefunction上传文件后,我想获取文件的下载url。 我有这个 : … return bucket .upload(fromFilePath, {destination: toFilePath}) .then((err, file) => { // Get the download url of file }); 目标文件有很多参数。 即使一个名为mediaLink 。 但是,如果我尝试访问这个链接,我得到这个错误: Anonymous users does not have storage.objects.get access to object … 有人可以告诉我如何获得公共下载url? 谢谢