Buka konsol

Mendownload File di Web

Dengan Cloud Storage, developer dapat mendownload file dengan cepat dan mudah dari bucket Google Cloud Storage yang disediakan dan dikelola oleh Firebase.

Membuat Referensi

Untuk mendownload file, buat referensi Cloud Storage terlebih dahulu pada file yang ingin didownload.

Anda dapat membuat referensi dengan menambahkan lokasi turunan ke root penyimpanan atau membuat referensi dari URL gs:// atau https:// yang telah ada yang mereferensikan objek dalam Cloud Storage.

// Create a reference with an initial file path and name
var storage = firebase.storage();
var pathReference = storage.ref('images/stars.jpg');

// Create a reference from a Google Cloud Storage URI
var gsReference = storage.refFromURL('gs://bucket/images/stars.jpg')

// Create a reference from an HTTPS URL
// Note that in the URL, characters are URL escaped!
var httpsReference = storage.refFromURL('https://firebasestorage.googleapis.com/b/bucket/o/images%20stars.jpg');

Mendownload Data lewat URL

Anda bisa mendapatkan URL download untuk sebuah file dengan memanggil metode getDownloadURL() pada referensi penyimpanan.

storageRef.child('images/stars.jpg').getDownloadURL().then(function(url) {
  // `url` is the download URL for 'images/stars.jpg'

  // This can be downloaded directly:
  var xhr = new XMLHttpRequest();
  xhr.responseType = 'blob';
  xhr.onload = function(event) {
    var blob = xhr.response;
  };
  xhr.open('GET', url);
  xhr.send();

  // Or inserted into an <img> element:
  var img = document.getElementById('myimg');
  img.src = url;
}).catch(function(error) {
  // Handle any errors
});

Konfigurasi CORS

Untuk mendownload data secara langsung di browser, Anda harus mengonfigurasi bucket Cloud Storage untuk akses lintas-asal (CORS). Hal ini dapat dilakukan dengan fitur command-line gsutil yang dapat Anda instal dari sini.

Jika Anda tidak menginginkan pembatasan berbasis domain (skenario yang paling umum), salin JSON ini ke file bernama cors.json:

[
  {
    "origin": ["*"],
    "method": ["GET"],
    "maxAgeSeconds": 3600
  }
]

Jalankan gsutil cors set cors.json gs://<your-cloud-storage-bucket> untuk menerapkan pembatasan tersebut.

Lihat Dokumen Cloud Storage untuk informasi selengkapnya.

Menangani Error

Ada sejumlah alasan mengapa terjadi error saat download, termasuk file tidak ada atau karena pengguna tidak memiliki izin untuk mengakses file yang diinginkan. Informasi lebih lanjut mengenai error bisa ditemukan di bagian Menangani Error pada dokumen.

Contoh Lengkap

Contoh lengkap sebuah download dengan penanganan errornya ditampilkan di bawah ini:

// Create a reference to the file we want to download
var starsRef = storageRef.child('images/stars.jpg');

// Get the download URL
starsRef.getDownloadURL().then(function(url) {
  // Insert url into an <img> tag to "download"
}).catch(function(error) {

  // A full list of error codes is available at
  // https://firebase.google.com/docs/storage/web/handle-errors
  switch (error.code) {
    case 'storage/object-not-found':
      // File doesn't exist
      break;

    case 'storage/unauthorized':
      // User doesn't have permission to access the object
      break;

    case 'storage/canceled':
      // User canceled the upload
      break;

    ...

    case 'storage/unknown':
      // Unknown error occurred, inspect the server response
      break;
  }
});

Anda juga dapat mengambil atau memperbarui metadata untuk file yang disimpan di Cloud Storage.