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 থেকে ফাইলগুলি কীভাবে মুছতে হয় তা শিখি।