Firebase Storage: Was es ist, Datei-Upload und Cloud-Speicher

Autor: IT Sectr Veröffentlicht: 2026-04-28 Lesezeit: 14 Min.

Firebase Storage ist ein Cloud-Dateispeicherdienst, der Teil des Google Firebase-Ökosystems ist und zum Hoch- und Herunterladen von Bildern, Videos, Audiodateien und anderen Binärdaten aus mobilen und Webanwendungen entwickelt wurde. Im Gegensatz zu einer normalen Cloud-Festplatte integriert sich Storage in Firebase Authentication und Security Rules, was eine flexible Zugriffskontrolle auf jede Datei auf Anfrageebene ermöglicht. Laut Google Firebase (2026) verarbeitet der Dienst täglich über 500 Millionen Dateioperationen und bietet skalierbaren Speicher, ohne dass eine Serverinfrastruktur verwaltet werden muss.

Wichtige Erkenntnisse

  • Firebase Storage — ein Cloud-Speicher für Anwendungsdateien, integriert in die Firebase-Plattform.
  • Hochladen erfolgt direkt vom Client über das SDK, ohne den eigenen Server.
  • Sicherheitsregeln ermöglichen die Zugriffskontrolle auf jede Datei basierend auf Authentifizierung und Inhalt.
  • Widerstandsfähigkeit gegen Verbindungsabbrüche wird durch automatisches fortsetzbares Hochladen ab der Unterbrechungsstelle gewährleistet.
  • Integration mit Cloud Functions ermöglicht die Verarbeitung von Dateien nach dem Upload.

Was ist Firebase Storage und wie funktioniert es

Firebase Storage ist ein Cloud-Objektspeicher, der auf Google Cloud Storage aufbaut und SDKs für Android, iOS und Webplattformen bereitstellt. Jede Datei wird als Objekt in einem Google Cloud-Bucket gespeichert und über einen dateisystemähnlichen Pfad adressiert: gs://bucket-name/path/to/file.jpg. Eine einzelne Datei kann bis zu 5 TB groß sein, sodass Sie Mediendaten ohne vorherige Komprimierung speichern können.

Die Architektur von Firebase Storage verwendet ein Referenzmodell von Links (gsutil references) anstelle einer klassischen Ordnerhierarchie, obwohl das SDK aus Entwicklerfreundlichkeit eine Verzeichnisschnittstelle bereitstellt. Physikalisch werden alle Objekte im flachen Namensraum des Buckets gespeichert, und virtuelle Ordner werden über Pfadpräfixe erstellt. Dies gewährleistet eine lineare Suchleistung unabhängig von der Anzahl der Dateien.

Der Hauptvorteil von Firebase Storage gegenüber der direkten Nutzung von Google Cloud Storage ist die integrierte Integration mit Firebase Authentication und Security Rules. Der Entwickler muss keine separaten IAM-Rollen und Dienstkonten konfigurieren: Zugriffsregeln werden in einer deklarativen Sprache ähnlich den Firebase Realtime Database Rules geschrieben und bei jeder Anfrage automatisch angewendet.

Bucket-Struktur und Dateipfade

Ein Firebase Storage-Bucket wird automatisch erstellt, wenn Sie den Dienst in der Firebase-Konsole aktivieren. Der Dateipfad folgt dem Muster /Ordnername/Dateiname und kann verschachtelte Ebenen enthalten. Es wird empfohlen, Pfade nach dem Schema /users/{userId}/images/{imageId}.jpg zu organisieren, um Daten zwischen Benutzern zu isolieren. Diese Struktur vereinfacht das Schreiben von Sicherheitsregeln, da der Pfad die Kennung des Eigentümers enthält.

Es ist wichtig zu verstehen, dass Firebase Storage keine relationale Datenbank oder ein Dateiserver im klassischen Sinne ist. Es ist ein Objektspeicher, der für das Lesen und Schreiben ganzer Dateien optimiert ist. Eine teilweise Dateiaktualisierung ist nicht möglich: Wenn Sie erneut unter demselben Pfad hochladen, wird das alte Objekt durch das neue ersetzt. Zum Speichern kleiner strukturierter Daten verwenden Sie Firebase Realtime Database oder Cloud Firestore.

Firebase Storage Preise und Limits

Die Firebase Storage-Preise hängen von der Menge der gespeicherten Daten und der Anzahl der Operationen ab. Der kostenlose Tarif (Spark) umfasst 5 GB Speicher, 20.000 Schreiboperationen und 50.000 Leseoperationen pro Tag. Der kostenpflichtige Tarif (Blaze) berechnet nach tatsächlicher Nutzung: $0,026 pro GB gespeicherter Daten, $0,05 pro 10.000 Schreiboperationen und $0,004 pro 10.000 Leseoperationen. Für ausgehenden Datenverkehr fallen zusätzliche Gebühren an.

Für die meisten mobilen Anwendungen mit einigen tausend Benutzern reicht das kostenlose Limit während der Prototyping- und Testphase aus. Bei der Skalierung auf Hunderttausende von Benutzern übersteigen die Storage-Kosten bei optimiertem Upload-Ansatz und clientseitigem Caching selten $50–$100 pro Monat.

Wie man Dateien in Firebase Storage hochlädt

Das Hochladen einer Datei in Firebase Storage erfolgt über die entsprechende SDK-Methode, die einen Speicherpfad und Dateidaten (Byte-Array, URI, Stream oder Bitmap) akzeptiert. Das SDK verwaltet automatisch die Verbindung, segmentiert die Datei bei großen Größen in Teile und bietet Callbacks zur Fortschrittsverfolgung. Der Upload erfolgt direkt vom Clientgerät zu Google Cloud, ohne Ihren Server zu umgehen, was die Last auf Ihrer eigenen Infrastruktur reduziert.

Für Android verwendet das Firebase Storage SDK die Klassen StorageReference und UploadTask. Eine StorageReference wird über Firebase.storage.reference aus dem Stammpfad erstellt und zeigt auf eine bestimmte Datei im Bucket. UploadTask gibt Listener für Fortschritt, Pause und Abschluss zurück. Wenn eine Verbindung unterbrochen wird, setzt UploadTask den Upload automatisch ab dem letzten erfolgreich übertragenen Byte fort — dieses Verhalten wird als fortsetzbarer Upload bezeichnet.

Dateimetadaten (Content-Type, benutzerdefinierte Felder) werden beim Start des Uploads als separates SettableMetadata-Objekt übergeben. Die korrekte Einstellung des Content-Type ist entscheidend für die korrekte Anzeige von Dateien im Browser und das CDN-Caching. Firebase Storage unterstützt alle standardmäßigen MIME-Typen: image/jpeg, image/png, video/mp4, application/pdf und andere.

Verwaltung von Metadaten beim Upload

Dateimetadaten enthalten Systemfelder (Content-Type, Cache-Control, Content-Disposition) und benutzerdefinierte Schlüssel-Wert-Paare (customMetadata). Systemfelder steuern HTTP-Header beim Download. Beispielsweise aktiviert Cache-Control: public, max-age=31536000 das Caching der Antwort für ein Jahr, was wiederholte Downloads derselben Datei erheblich reduziert und Datenverkehr spart.

Benutzerdefinierte Metadaten sind praktisch, um zusätzliche Informationen über eine Datei zu übermitteln, ohne eine separate Sammlung in Firestore zu erstellen. Beispielsweise kann das Feld uploadedBy die userId des hochladenden Benutzers speichern, was die Implementierung von Galerien mit benutzergenerierten Inhalten vereinfacht. Benutzerdefinierte Metadaten werden nicht separat durch Security Rules geschützt — ihr Zugriff unterliegt denselben Regeln wie die Datei selbst.

Mehrere Uploads und Batch-Verarbeitung

Wenn Sie mehrere Dateien gleichzeitig hochladen müssen (z.B. Fotos aus einer Galerie), wird nicht empfohlen, unabhängige UploadTasks ohne Einschränkungen parallel auszuführen. Auf mobilen Geräten überlasten parallele Uploads von mehr als 3–5 Dateien den Netzwerkstack und verursachen Timeouts. Die optimale Strategie ist die Verwendung eines Parallelitätslimits von 3 oder sequenzielles Hochladen mit einer gemeinsamen Fortschrittsanzeige.

Für die serverseitige Verarbeitung nach dem Upload (Thumbnail-Generierung, Komprimierung, Inhaltsmoderation) verwenden Sie den Firebase Cloud Functions-Trigger: functions.storage.object().onFinalize(). Diese Funktion wird automatisch nach Abschluss jedes Datei-Uploads aufgerufen und kann eine verarbeitete Kopie unter einem anderen Pfad speichern. Weitere Details finden Sie im Abschnitt zu typischen Anwendungsfällen.

Herunterladen von Dateien und Link-Verwaltung

Firebase Storage unterstützt zwei Download-Methoden: direkten Download über das SDK (Erhalten eines Byte-Arrays oder einer lokalen Datei) und Erhalten einer direkten Download-URL für den HTTP-Zugriff. Die direkte URL kann verwendet werden, um Bilder in ImageView, im WebView anzuzeigen oder um einen Link für den Benutzer bereitzustellen. Die Download-URL wird mit einem Sicherheitstoken generiert, das in der Firebase-Konsole widerrufen werden kann.

Die Methode storageReference.downloadUrl gibt eine URL im Format https://firebasestorage.googleapis.com/v0/b/{bucket}/o/{path}?alt=media&token={token} zurück. Das Sicherheitstoken wird bei der Generierung automatisch in die URL aufgenommen, sodass der Link ohne Risiko eines unbefugten Zugriffs mit Dritten (z.B. in einem Messenger) geteilt werden kann. Wenn das Token jedoch kompromittiert ist, kann es über die Firebase-Konsole im Bereich Storage widerrufen werden — danach funktionieren alle Links mit diesem Token nicht mehr.

Zum Caching heruntergeladener Dateien auf dem Client verwenden Sie lokalen Speicher mit dem ETag-Mechanismus oder MD5-Hash. Firebase Storage gibt beim Anfordern einer Datei einen HTTP-Header ETag zurück, der mit einem lokal gespeicherten Wert verglichen werden kann, um ein erneutes Herunterladen unveränderter Dateien zu vermeiden. Dies ist besonders nützlich für Medieninhalte: Avatare, Cover-Bilder, Vorschauen — Dateien, die selten aktualisiert, aber häufig angefordert werden.

Direkte Download-URLs und ihre Sicherheit

Eine Download-URL mit einem Token ist die primäre Methode, um nicht authentifizierten Benutzern Dateizugriff zu gewähren (z.B. zum Anzeigen eines Bildes in einem News-Feed). Das Token wird einmal generiert und ändert sich bis zum Widerruf nicht, sodass die URL in einer Datenbank gespeichert werden kann (z.B. neben dem Feld avatarUrl in Firestore). Wenn der Avatar geändert wird, wird die alte Datei gelöscht und eine neue URL generiert und gespeichert.

Wichtig zu beachten: Das Vorhandensein einer Download-URL hebt Security Rules nicht auf. Wenn eine Regel das Lesen der Datei verweigert, gibt die Methode downloadUrl einen Fehler zur Verweigerung der Berechtigung zurück. Das bedeutet, dass selbst bei Kenntnis des korrekten Dateipfads ein nicht authentifizierter Client den Link nicht erhalten kann. Nach dem Erhalt bietet die URL einen HTTP-Zugriff unter Umgehung der Security Rules — daher ist das Token der einzige Schutz des Download-Links.

Caching und Arbeiten mit ETag

HTTP ETag ist ein Dateiversionskennung, die sich bei jeder Inhaltsänderung ändert. Firebase Storage gibt automatisch einen ETag in der GET-Antwort zurück. Die Client-Anwendung kann den ETag in einem lokalen Cache speichern und bei nachfolgenden Anfragen den Header If-None-Match: {etag} senden. Wenn sich die Datei nicht geändert hat, gibt der Server einen 304 Not Modified-Status zurück, ohne Daten zu übertragen.

Um intelligentes Caching in einer mobilen Anwendung zu implementieren, verwenden Sie eine Kombination aus lokalem Dateisystem und einer Datenbank (z.B. Room zum Speichern von Pfad-ETag-Paaren). Beim Laden einer Datei überprüfen Sie den ETag aus der Datenbank: Wenn er mit dem Server übereinstimmt, verwenden Sie die lokale Kopie. Dieser Ansatz reduziert den Datenverkehr bei statischen Mediendateien um 60–80% und beschleunigt das Laden von Bildschirmen mit Galerien.

Sicherheitsregeln für Firebase Storage

Security Rules ist eine deklarative Zugriffskontrollsprache für Dateien in Firebase Storage, die auf der Firebase-Serverseite ausgeführt wird. Jede Regel ist an einen Bucket-Pfad gebunden und definiert die Bedingungen, unter denen ein Lese- oder Schreibvorgang erlaubt ist. Die Regeln werden vor jeder Anfrage überprüft und können durch Client-Code nicht umgangen werden. Dies ist die einzige Verteidigungslinie für Daten gegen unbefugten Zugriff.

Die Grundregel ist Zugriff nur für authentifizierte Benutzer: allow read, write: if request.auth != null. Diese Regel stellt sicher, dass nur angemeldete Benutzer Dateien lesen und schreiben können. Für eine feinere Konfiguration wird die Variable request.auth.uid verwendet, die die Kennung des aktuellen Benutzers enthält. Durch den Vergleich der uid mit einem Teil des Dateipfads kann ein isolierter Speicher für jeden Benutzer erstellt werden.

Wichtig: Security Rules sind kein Inhaltsvalidierungsmechanismus. Wenn Sie den Dateityp, die Größe oder das Vorhandensein von schädlichem Code überprüfen müssen, verwenden Sie die Regel request.resource, die die Metadaten der hochgeladenen Datei enthält. Die verfügbaren Eigenschaften sind request.resource.size (Dateigröße), request.resource.contentType (MIME-Typ) und request.resource.md5Hash (Prüfsumme). Die vollständige Inhaltsvalidierung wird jedoch serverseitig über Cloud Functions durchgeführt.

SzenarioSecurity Rules Regel
Nur Authentifizierteallow read, write: if request.auth != null
Nur Eigentümerallow write: if request.auth.uid == userId
Öffentliches Lesenallow read: if true; allow write: if request.auth != null
Größenbeschränkungallow write: if request.resource.size < 5 * 1024 * 1024
Typbeschränkungallow write: if request.resource.contentType.startsWith('image/')

Beispielregeln für benutzergenerierte Inhalte

Eine typische Konfiguration für eine Anwendung mit Benutzeravataren und einer Galerie sieht wie folgt aus. Der Benutzer kann nur in sein eigenes Verzeichnis /users/{userId}/ schreiben, aber jede Datei in diesem Verzeichnis lesen (öffentliche Galerie). Die Dateigröße ist auf 5 MB begrenzt und der Typ auf Bilder beschränkt. Diese Kombination von Regeln deckt 80% der Firebase Storage-Anwendungsfälle in sozialen und UGC-Anwendungen ab.

Sicherheitstipp: Verwenden Sie niemals die Regel allow read, write: if true für den gesamten Bucket. Dies öffnet den Schreibzugriff für jeden, der Ihre projectId kennt. Im Jahr 2025 haben Angriffe auf ungeschützte Firebase-Buckets zugenommen, bei denen Angreifer offenen Zugriff zum Speichern illegaler Inhalte nutzen. Beginnen Sie immer mit den minimal erforderlichen Berechtigungen und erweitern Sie diese nur, wenn explizit erforderlich.

Inhaltsvalidierung über Cloud Functions

Der Cloud Functions-Trigger functions.storage.object().onFinalize() ermöglicht die Durchführung einer Inhaltsvalidierung nach dem Upload. Wenn die Datei die Validierung nicht besteht (z.B. ein Virus enthält oder gegen Plattformregeln verstößt), kann die Funktion sie löschen und den Benutzer benachrichtigen. Dies ist die einzige Möglichkeit, den tatsächlichen Inhalt zu überprüfen, da Security Rules nur Metadaten (Größe und MIME-Typ) sehen, nicht aber Binärdaten.

Validierungsbeispiel: Eine Node.js-Funktion lädt die hochgeladene Datei in ein temporäres Verzeichnis herunter, führt sie durch einen Antiviren-Detektor (z.B. ClamAV) und löscht die Datei bei Fund einer Bedrohung und protokolliert das Ereignis in Firebase Crashlytics. Die Ausführungszeit der Funktion ist auf 540 Sekunden begrenzt, was für die Überprüfung von Dateien bis zu 50 MB ausreicht.

Codebeispiele für Firebase Storage in Kotlin

Schauen wir uns praktische Beispiele für die Integration von Firebase Storage in eine Android-Anwendung mit Kotlin an. Der Code verwendet standardmäßige Firebase SDK-Klassen und demonstriert das Hochladen eines Bildes aus der Gerätegalerie, das Herunterladen einer Datei mit Fortschrittsverfolgung und das Erhalten einer Download-URL. Alle Beispiele enthalten Fehlerbehandlung und Aufgabenunterbrechung bei Verbindungsverlust.

Stellen Sie vor der Verwendung des Codes sicher, dass die Datei build.gradle die Abhängigkeiten implementation(platform("com.google.firebase:firebase-bom:33.0.0")) und implementation("com.google.firebase:firebase-storage") enthält. Firebase BOM wählt automatisch kompatible Versionen aller SDKs aus und eliminiert Versionskonflikte.

Hochladen eines Bildes aus der Galerie

Das erste Beispiel demonstriert das Hochladen einer Datei, die vom Benutzer über den Intent ACTION_GET_CONTENT ausgewählt wurde. Die URI der erhaltenen Datei wird an das Firebase Storage SDK übergeben, das die Daten von dieser URI liest. Die Methode putFile akzeptiert eine URI und gibt einen UploadTask zurück — ein Objekt, über das der Fortschritt verfolgt und der Upload pausiert und fortgesetzt werden kann.

kotlin
val storageRef = Firebase.storage.reference
val imageRef = storageRef.child(
    "users/${auth.uid}/profile.jpg"
)

val metadata = SettableMetadata().apply {
    contentType = "image/jpeg"
    customMetadata = mapOf(
        "uploadedBy" to auth.uid!!
    )
}

imageRef.putFile(imageUri, metadata)
    .addOnSuccessListener {
        Log.d("Storage", "Datei hochgeladen")
    }
    .addOnFailureListener { e ->
        Log.e("Storage", "Fehler: ${e.message}")
    }

Im obigen Beispiel ist die Variable storageRef der Stammverweis auf den Projekt-Bucket. Die Methode child akzeptiert eine Pfadzeichenfolge und gibt eine StorageReference zurück, die auf eine bestimmte Datei zeigt. Wenn unter dem angegebenen Pfad bereits eine Datei existiert, wird sie überschrieben. Die Metadaten contentType und customMetadata werden über das SettableMetadata-Objekt übergeben, das an die putFile-Anfrage angehängt wird.

Herunterladen einer Datei mit Fortschritt

Das zweite Beispiel demonstriert das Herunterladen einer Datei durch Erhalten eines Byte-Arrays zur Anzeige in einem ImageView. Die Methode getBytes(maxSize) lädt die gesamte Datei in den Speicher. Für Dateien größer als 10 MB verwenden Sie getFile(localUri) — dies speichert den Inhalt direkt in einer lokalen Datei ohne Zwischenspeicherung im RAM und verhindert so OutOfMemoryError.

kotlin
val islandRef = storageRef.child("images/island.jpg")

val ONE_MEGABYTE: Long = 1024 * 1024
islandRef.getBytes(ONE_MEGABYTE)
    .addOnSuccessListener { bytes ->
        imageView.setImageBitmap(
            BitmapFactory.decodeByteArray(
                bytes, 0, bytes.size
            )
        )
    }
    .addOnFailureListener { e ->
        Log.e("Storage", "Hochladen fehlgeschlagen: ${e.message}")
    }

Zum Erhalten einer Download-URL (z.B. zum Speichern des Links in Firestore) verwenden Sie die Methode downloadUrl:

kotlin
islandRef.downloadUrl.addOnSuccessListener { uri ->
    Log.d("Storage", "Download-URL: $uri")
    // uri.toString() in Firestore speichern
}

Tipp: Die Download-URL wird einmal generiert und bleibt bis zum Widerruf stabil. Speichern Sie sie beim ersten Upload in der Datenbank, anstatt sie jedes Mal anzufordern, wenn Sie die Datei anzeigen. Dies reduziert die Anzahl der Anfragen an Firebase Storage und verbessert die UI-Leistung.

Typische Anwendungsfälle für Firebase Storage

Firebase Storage wird in mobilen Anwendungen zum Speichern von Benutzer- und Systemdateien verwendet. Zu den häufigsten Szenarien gehören Avatare und Profilfotos, Bilder in Inhaltsfeeds, Video- und Audiodateien, Dokumente (PDF, DOCX) zum Teilen zwischen Benutzern und die Datensicherung kleinerer Datenmengen. In all diesen Fällen fungiert Storage als spezialisierter Dateispeicher in Verbindung mit Firestore zum Speichern von Metadaten und Links.

Soziale Anwendungen sind der häufigste Anwendungsfall. Jeder Benutzer lädt einen Avatar, Beitragsfotos und Mediendateien hoch. Die Pfadstruktur /users/{uid}/posts/{postId}/image.jpg isoliert Daten und vereinfacht Security Rules. Wenn ein Benutzer gelöscht wird, kann eine Cloud Function alle Benutzerverzeichnisse durchlaufen und den Speicher bereinigen. Laut Firebase-Blog (2025) wird dieses Muster in 70% der Firebase-Produktionsprojekte verwendet.

E-Commerce-Anwendungen verwenden Firebase Storage zum Speichern von Produktfotos, Katalogen und PDF-Dateien mit Anleitungen. In diesem Fall ist der Dateizugriff normalerweise öffentlich (Lesen ohne Authentifizierung), während der Schreibzugriff über Cloud Functions mit Berechtigungsprüfung auf Administratoren beschränkt ist. Produkt-Download-URLs werden in Firestore neben anderen Produktdaten gespeichert, sodass Bilder ohne zusätzliche Storage-Anfragen angezeigt werden können.

Messenger und Chats speichern in Konversationen gesendete Bilder und Sprachnachrichten in Firebase Storage. Der Pfad ist als /chats/{chatId}/messages/{messageId}.jpg strukturiert. Der Lesezugriff ist auf Chat-Teilnehmer beschränkt, was über Security Rules unter Verwendung von Firestore-Daten überprüft wird. Dies ist eines der wenigen Szenarien, in denen eine Regel Daten aus einem anderen Firebase-Dienst liest: allow read: if firestore.exists(/databases/(default)/documents/chats/{chatId}/members/{request.auth.uid}).

Häufig gestellte Fragen

Wie unterscheidet sich Firebase Storage von Google Cloud Storage?

Firebase Storage ist ein Overlay über Google Cloud Storage mit Integration von Firebase Authentication und Security Rules. Der Entwickler muss keine IAM-Rollen und Dienstkonten konfigurieren. Google Cloud Storage bietet umfangreichere Möglichkeiten (Pub/Sub-Benachrichtigungen, Object Lifecycle Management), erfordert jedoch manuelle Zugriffsverwaltung über GCP IAM.

Wie kann ich die Größe einer hochgeladenen Datei begrenzen?

Die Größenbeschränkung wird in den Security Rules über request.resource.size festgelegt. Beispiel: allow write: if request.resource.size <= 5 * 1024 * 1024 begrenzt Dateien auf 5 MB. Zusätzlich können Sie clientseitig vor dem Senden prüfen, um den Datenverkehr des Benutzers bei offensichtlich ungültigen Dateien nicht zu verschwenden.

Kann ich eine Datei mit dem Firebase Storage SDK löschen?

Ja, das Löschen erfolgt mit der Methode delete() des StorageReference-Objekts: storageRef.child("path").delete(). Der Löschvorgang ist unwiderruflich und entfernt die Datei sofort aus dem Bucket. Eine Datei kann nur gelöscht werden, wenn Security Rules das Schreiben für den angegebenen Pfad erlauben. Nach dem Löschen funktioniert die Download-URL nicht mehr.

Wie mache ich den Speicher schreibgeschützt?

Erlauben Sie in den Security Rules das Lesen für alle (oder authentifizierte Benutzer) und verweigern Sie das Schreiben: allow read: if request.auth != null; allow write: if false. Das Schreiben in diesem Modus ist nur über das Firebase Admin SDK-Dienstkonto möglich — z.B. von Cloud Functions mit administrativen Privilegien. Dies ist das Standardmuster für Produktkataloge und öffentliche Inhalte.

Wie behandelt Firebase Storage Verbindungsabbrüche beim Upload?

UploadTask verwendet das fortsetzbare Upload-Protokoll basierend auf HTTP PUT mit Segmentierung. Bei einer Verbindungsunterbrechung wird der Upload ab dem letzten bestätigten Byte fortgesetzt, nicht von Anfang an. Für dieses Verhalten ist keine zusätzliche Konfiguration erforderlich — das SDK tut dies automatisch für Dateien größer als 1 MB.

Zusammenfassung

  • Firebase Storage ist ein Cloud-Objektspeicher auf Basis von Google Cloud Storage mit Firebase Authentication und Security Rules-Integration.
  • Datei-Upload erfolgt direkt vom Client über das SDK mit Unterstützung für fortsetzbare Uploads bei Verbindungsabbrüchen.
  • Download ist über das SDK (Byte-Array oder lokale Datei) oder über direkte Download-URLs mit Sicherheitstoken möglich.
  • Security Rules sind der einzige Datenschutzmechanismus und ermöglichen Zugriffskontrolle nach Pfad, Authentifizierung, Größe und Dateityp.
  • Caching über HTTP ETag reduziert den Datenverkehr bei statischen Mediendateien um 60–80% bei korrekter clientseitiger Implementierung.
  • Cloud Functions onFinalize-Trigger ermöglicht die Nachbearbeitung von Dateien: Komprimierung, Moderation, Vorschaugenerierung.
  • Preise sind vorhersehbar: Das kostenlose Limit von 5 GB deckt Prototypen ab, und der Blaze-Pay-as-you-go-Tarif berechnet nach tatsächlicher Nutzung.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch