ওয়েবে ক্লাউড স্টোরেজ সহ ফাইল মেটাডেটা ব্যবহার করুন

Cloud Storage রেফারেন্সে কোনও ফাইল আপলোড করার পরে, আপনি ফাইল মেটাডেটা পেতে বা আপডেট করতে পারেন, উদাহরণস্বরূপ সামগ্রীর প্রকারটি আপডেট করতে। ফাইলগুলি অতিরিক্ত ফাইল মেটাডেটা সহ কাস্টম কী/মান জোড়া সংরক্ষণ করতে পারে।

ফাইল মেটাডেটা পান

ফাইল মেটাডেটাতে সাধারণ বৈশিষ্ট্য যেমন name , size এবং contentType (প্রায়শই মাইম টাইপ হিসাবে পরিচিত) এর মতো কিছু কম সাধারণ বিষয়গুলি ছাড়াও contentDisposition এবং timeCreated রয়েছে। This metadata can be retrieved from a Cloud Storage reference using the getMetadata() method. getMetadata() returns a Promise containing the complete metadata, or an error if the Promise rejects.

Web

import { getStorage, ref, getMetadata } from "firebase/storage";

// Create a reference to the file whose metadata we want to retrieve
const storage = getStorage();
const forestRef = ref(storage, 'images/forest.jpg');

// Get metadata properties
getMetadata(forestRef)
  .then((metadata) => {
    // Metadata now contains the metadata for 'images/forest.jpg'
  })
  .catch((error) => {
    // Uh-oh, an error occurred!
  });

Web

// Create a reference to the file whose metadata we want to retrieve
var forestRef = storageRef.child('images/forest.jpg');

// Get metadata properties
forestRef.getMetadata()
  .then((metadata) => {
    // Metadata now contains the metadata for 'images/forest.jpg'
  })
  .catch((error) => {
    // Uh-oh, an error occurred!
  });

ফাইল মেটাডেটা আপডেট করুন

updateMetadata() পদ্ধতিটি ব্যবহার করে ফাইল আপলোড শেষ হওয়ার পরে আপনি যে কোনও সময় ফাইল মেটাডেটা আপডেট করতে পারেন। কোন বৈশিষ্ট্যগুলি আপডেট করা যায় সে সম্পর্কে আরও তথ্যের জন্য সম্পূর্ণ তালিকাটি দেখুন। কেবলমাত্র মেটাডেটাতে নির্দিষ্ট করা বৈশিষ্ট্যগুলি আপডেট করা হয়, অন্য সমস্তগুলি অপরিবর্তিত রেখে দেওয়া হয়। updateMetadata() সম্পূর্ণ মেটাডেটাযুক্ত একটি Promise বা Promise প্রত্যাখ্যান করলে একটি ত্রুটি প্রদান করে।

Web

import { getStorage, ref, updateMetadata } from "firebase/storage";

// Create a reference to the file whose metadata we want to change
const storage = getStorage();
const forestRef = ref(storage, 'images/forest.jpg');

// Create file metadata to update
const newMetadata = {
  cacheControl: 'public,max-age=300',
  contentType: 'image/jpeg'
};

// Update metadata properties
updateMetadata(forestRef, newMetadata)
  .then((metadata) => {
    // Updated metadata for 'images/forest.jpg' is returned in the Promise
  }).catch((error) => {
    // Uh-oh, an error occurred!
  });

Web

// Create a reference to the file whose metadata we want to change
var forestRef = storageRef.child('images/forest.jpg');

// Create file metadata to update
var newMetadata = {
  cacheControl: 'public,max-age=300',
  contentType: 'image/jpeg'
};

// Update metadata properties
forestRef.updateMetadata(newMetadata)
  .then((metadata) => {
    // Updated metadata for 'images/forest.jpg' is returned in the Promise
  }).catch((error) => {
    // Uh-oh, an error occurred!
  });

You can delete a metadata property by setting it to null :

Web

import { getStorage, ref, updateMetadata } from "firebase/storage";

const storage = getStorage();
const forestRef = ref(storage, 'images/forest.jpg');

// Create file metadata with property to delete
const deleteMetadata = {
  contentType: null
};

// Delete the metadata property
updateMetadata(forestRef, deleteMetadata)
  .then((metadata) => {
    // metadata.contentType should be null
  }).catch((error) => {
    // Uh-oh, an error occurred!
  });

Web

// Create file metadata with property to delete
var deleteMetadata = {
  contentType: null
};

// Delete the metadata property
forestRef.updateMetadata(deleteMetadata)
  .then((metadata) => {
    // metadata.contentType should be null
  }).catch((error) => {
    // Uh-oh, an error occurred!
  });

হ্যান্ডেল ত্রুটি

ফাইল বিদ্যমান নেই, বা ব্যবহারকারীর পছন্দসই ফাইলটি অ্যাক্সেস করার অনুমতি নেই এমন মেটাডেটা পেতে বা আপডেট করার ক্ষেত্রে ত্রুটিগুলি কেন ঘটতে পারে তার অনেকগুলি কারণ রয়েছে। More information on errors can be found in the Handle Errors section of the docs.

কাস্টম মেটাডেটা

You can specify custom metadata as an object containing String properties.

Web

const metadata = {
  customMetadata: {
    'location': 'Yosemite, CA, USA',
    'activity': 'Hiking'
  }
};

Web

var metadata = {
  customMetadata: {
    'location': 'Yosemite, CA, USA',
    'activity': 'Hiking'
  }
};

আপনি প্রতিটি ফাইলের জন্য অতিরিক্ত অ্যাপ্লিকেশন নির্দিষ্ট ডেটা সংরক্ষণের জন্য কাস্টম মেটাডেটা ব্যবহার করতে পারেন, তবে আমরা এই ধরণের ডেটা সংরক্ষণ এবং সিঙ্ক্রোনাইজ করতে একটি ডাটাবেস (যেমন Firebase Realtime Database ) ব্যবহার করার পরামর্শ দিই।

ফাইল মেটাডেটা সম্পত্তি

কোনও ফাইলের মেটাডেটা বৈশিষ্ট্যের একটি সম্পূর্ণ তালিকা নীচে উপলব্ধ:

সম্পত্তি টাইপ লেখার যোগ্য
bucket স্ট্রিং না
generation স্ট্রিং না
metageneration স্ট্রিং না
fullPath স্ট্রিং না
name স্ট্রিং না
size সংখ্যা না
timeCreated স্ট্রিং না
updated স্ট্রিং না
md5Hash স্ট্রিং আপলোডে হ্যাঁ, আপডেট মেটাডেটাতে না৷
cacheControl স্ট্রিং হ্যাঁ
contentDisposition স্ট্রিং হ্যাঁ
contentEncoding স্ট্রিং হ্যাঁ
contentLanguage স্ট্রিং হ্যাঁ
contentType স্ট্রিং হ্যাঁ
customMetadata স্ট্রিং->স্ট্রিং ম্যাপিং ধারণকারী বস্তু হ্যাঁ

ফাইলগুলি আপলোড করা, ডাউনলোড করা এবং আপডেট করা গুরুত্বপূর্ণ, তবে সেগুলি অপসারণ করতে সক্ষম। আসুন Cloud Storage থেকে ফাইলগুলি কীভাবে মুছতে হয় তা শিখি।