Tag: google cloud storage

上传到Firebase存储时,如何使用Cloud Functions for FIrebase获取mp3文件的持续时间

我正在为一个舞蹈应用程序build立一个音乐库。 目前我有一个云端function,当一个mp3file upload到Firebase存储时自动创build一个数据库实例,我仍然需要以某种方式获取该mp3文件的持续时间,并将该信息存储在数据库中。 我是新来的JavaScript和第一次做node.js,一些来源指向使用MP3元数据,我没有经验玩任何一个。 一些帮助将不胜感激。

keystone.Storage适配器谷歌云存储

是否有一个谷歌云存储适配器keystone.Storage库? 我想承载一切我可以与一个服务提供商。 我将使用谷歌云平台来托pipe我的Keystone.js应用程序和MongoDB数据库。 该库有本地文件,S3和Azure适配器,但我不知道如何使用它与谷歌云存储。 请参阅https://github.com/keystonejs/keystone/tree/master/lib/storage 如果可以像keystone-storage-adapter-s3一样使用,我会很棒: configuration: var storage = new keystone.Storage({ adapter: require('keystone-storage-adapter-gcloud'), s3: { key: 'gcloud-key', secret: 'secret', bucket: 'mybucket', path: '/profilepics', headers: {}, }, schema: { bucket: true, etag: true, path: true, url: true, }, }); 然后用它作为File域的存储提供者: File.add({ name: { type: String }, file: { type: Types.File, storage: storage }, });

Firebase:使用云端function删除Cloud Starage中的文件

我尝试使用Cloud Functions从删除条目中的Cloud Storage删除与Realtime Database某些特定条目相关的所有文件。 我的function看起来像休闲: exports.onDeleteRequest = functions.database.ref('/requests/{requestid}/').onDelete(event => { const storage = functions.config().firebase.storageBucket; const userId = event.data.previous.child('uid').val(); const requestId = event.params.requestid; const path = storage + '/photos/' + userId + '/' + requestId; console.log('path: ', path); return gcs.bucket(path).delete().then(function() { console.log("Files removed"); }).catch(function(error) { console.error("Failed removing files", error); }); }); 但是,我继续在日志中出现以下错误: Failed removing files { […]

Google Cloud Storage .flacaudiofile upload失败(Nodejs)

我正在使用Google Cloud Storage和Speech API从我的node.js实现中转换文件audio,并且在将FLAC编码的audiofile upload到Google Cloud Storage中时遇到问题。 它似乎只能正确地上传短于大约15-20秒的文件,对于其他人来说,API不会抛出错误并保存一个空文件(8.16KB)。 涉及的代码部分如下: … var binary = new Buffer(audio, 'base64'); // write buffer to file var Readable = require('stream').Readable var s = new Readable s.push(binary) // the string you want s.push(null) // indicates end-of-file basically – the end of the stream var convertedFLACfilePath = "" + crypto.randomBytes(32).toString('hex')+".flac"; var FfmpegCommand […]

Firebase存储:上传后不显示图片文件types。 我如何使用图像?

当我使用谷歌云或multer-gcs这样的npm软件包将file upload到firebase存储桶(使用谷歌云端存储)时,文件就会被上传。 但是,该文件不显示和图像types(MIME)。 另外,如何在我的node.js应用程序中使用图像? 以下是将图片上传到Firebase存储区的代码。 用multer来处理file upload var path = require('path'); var multer = require('multer'); var gcs = require( 'multer-gcs' ); var storage = gcs({ filename : function( req, file, cb ) { cb( null, file.fieldname + '-' + Date.now() + path.extname(file.originalname).toLowerCase()); }, bucket : 'p****n-bcXX3.appspot.com', // Required : bucket name to upload projectId : […]

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

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

使用Node.js创buildGoogle云存储对象的SignedURL

我需要使用Node.js创build存储在Google云端存储中的对象(使用Google Developer Console上传)的签名url。 这是我的代码: var gcloud = require('gcloud'); // Google Cloud Storage Bucket Name const BUCKET_NAME = 'testBucketName123'; // Google Developer Console project ID const PROJECT_ID = 'testProjectName123'; /* Google Developer Console -> API Manager -> Credentials -> Add credentials -> Service account -> JSON -> Create */ const KEY_FILENAME = 'testKey.json' // relative path […]

使用NodeJs sdk在Google云端存储中生成getServingUrl()

我正在使用谷歌云存储存储图像,也有服务器上运行的NodeJs。 我想为每个图像生成servingUrl (又名magicUrl),它可以随时生成不同大小的图像(请参阅https://medium.com/google-cloud/uploading-resizing-and-serving-images-with- google-cloud-platform-ca9631a2c556#.1jtzu5kuo ) 我尝试使用gcloud sdk来生成,但我找不到任何getServingUrl 。

使用适用于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) { // […]

使用NodeJS为Google云端存储创build签名的URL

我正在尝试为Google云端存储中的私人存储文件创build签名; 这样我可以分发一个有时间限制的链接。 目前这样做,这使得签名太短…我哪里错了? var crypto = require("crypto"); var ttl = new Date().getTime() + 3600; var id = 'the_target_file.txt'; var bucketName = 'bucket_name'; var POLICY_JSON = "GET\n" + "\n" + "\n" + ttl + "\n" + '/' + bucketName + '/' + id; // stringify and encode the policy var stringPolicy = JSON.stringify(POLICY_JSON); var base64Policy = […]