Skip to main content

Menyimpan Berkas (file) ke Firebase Storage menggunakan Firebase Functions

Dear Pembaca Setia,

Kali ini Penulis hendak berbagi pengalaman saat Penulis mengerjakan suatu projek yang mengharuskan untuk menyimpan berkas (image, file, etc) ke Firebase Storage menggunakan Firebase Functions.

Informasi tentang Firebase Storage dapat diakses https://firebase.google.com/docs/storage.

Dan informasi tentang Firebase Cloud Functions dapat diakses di https://firebase.google.com/docs/functions

Firebase Storage menyediakan berbagai jalur akses ke layanannya: Android SDK, Web SDK, Admin SDK, dll. Karena pada projek ini Penulis bekerja dengan layanan Firebase Cloud Functions, maka jalur akses ke Firebase Storage mennggunakan Admin SDK.

Langsung saja, berikut adalah contoh code yang digunakan oleh Penulis:

const functions = require('firebase-functions');

const admin = require('firebase-admin');

exports.FileUpload = functions.https.onRequest(async (req, res) => {
    const imageExtension = req.body.ImageExtension;
    const imageDataUrl = req.body.ImageDataUrl;

    const filename = `${create_UUID()}.${imageExtension}`;
    const filetoken = create_UUID();

    const myBucket =
        await admin.storage().bucket()
            .file(filename)
            .save(
                Buffer.from(imageDataUrl, 'base64'),
                {
                    metadata:
                    {
                        contentType: `image/${imageExtension}`,
                        metadata: {
                            firebaseStorageDownloadTokens: filetoken,
                        }
                    }
                }
            );
});

function create_UUID() {
    var dt = new Date().getTime();
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
        var r = (dt + Math.random() * 16) % 16 | 0;
        dt = Math.floor(dt / 16);
        return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid;
}

Demikian tutorial singkat kali ini, semoga bermanfaat.

Salam Koding...

Comments

Popular posts from this blog

Pengaturan TP-LINK TL-MR3020 sebagai WiFi Client

Dear Pembaca setia, Kali ini penulis ingin berbagi cerita, bagaimana sebuah devices (PC atau yang lain) yang tidak memiliki modul Wireless, dan hanya memiliki port LAN (RJ45), dapat terkoneksi ke jaringan dengan bantuan Wireless Router TP-Link TL-MR3020. Caranya adalah dengan

Big Truck Adventure

Informasi bagi pembaca blog sekalian, halaman game online yang saya upload kemarin linknya telah saya pindahkan ke halaman yang baru. Silahkan lihat di bagian sidebar kiri sebelah atas. Terima kasih atas kunjungannya :-)