پس از آپلود فایل در مرجع Cloud Storage ، میتوانید فرادادههای فایل را نیز دریافت و بهروزرسانی کنید، برای مثال، نوع محتوا را بهروزرسانی کنید. فایلها همچنین میتوانند جفتهای کلید/مقدار سفارشی را با فرادادههای فایل اضافی ذخیره کنند.
دریافت متادیتای فایل
 فرادادههای فایل شامل ویژگیهای رایجی مانند name ، size و contentType (که اغلب به عنوان نوع MIME شناخته میشوند) علاوه بر برخی ویژگیهای کمتر رایج مانند contentDisposition و timeCreated هستند. این فرادادهها را میتوان با استفاده از متد metadataWithCompletion: از یک مرجع Cloud Storage بازیابی کرد. 
سویفت
// Create reference to the file whose metadata we want to retrieve let forestRef = storageRef.child("images/forest.jpg") // Get metadata properties do { let metadata = try await forestRef.getMetadata() } catch { // ... }
هدف-سی
// Create reference to the file whose metadata we want to retrieve FIRStorageReference *forestRef = [storageRef child:@"images/forest.jpg"]; // Get metadata properties [forestRef metadataWithCompletion:^(FIRStorageMetadata *metadata, NSError *error) { if (error != nil) { // Uh-oh, an error occurred! } else { // Metadata now contains the metadata for 'images/forest.jpg' } }];
بهروزرسانی فراداده فایل
 شما میتوانید فرادادههای فایل را در هر زمانی پس از اتمام آپلود فایل، با استفاده از متد updateMetadata:withCompletion: بهروزرسانی کنید. برای اطلاعات بیشتر در مورد ویژگیهایی که میتوانند بهروزرسانی شوند، به لیست کامل مراجعه کنید. فقط ویژگیهای مشخص شده در فراداده بهروزرسانی میشوند، سایر موارد بدون تغییر باقی میمانند. 
سویفت
// Create reference to the file whose metadata we want to change let forestRef = storageRef.child("images/forest.jpg") // Create file metadata to update let newMetadata = StorageMetadata() newMetadata.cacheControl = "public,max-age=300" newMetadata.contentType = "image/jpeg" // Update metadata properties do { let updatedMetadata = try await forestRef.updateMetadata(newMetadata) } catch { // ... }
هدف-سی
// Create reference to the file whose metadata we want to change FIRStorageReference *forestRef = [storageRef child:@"images/forest.jpg"]; // Create file metadata to update FIRStorageMetadata *newMetadata = [[FIRStorageMetadata alloc] init]; newMetadata.cacheControl = @"public,max-age=300"; newMetadata.contentType = @"image/jpeg"; // Update metadata properties [forestRef updateMetadata:newMetadata completion:^(FIRStorageMetadata *metadata, NSError *error){ if (error != nil) { // Uh-oh, an error occurred! } else { // Updated metadata for 'images/forest.jpg' is returned } }];
 شما میتوانید ویژگیهای متادیتای قابل نوشتن را با تنظیم آنها به nil حذف کنید: 
هدف-سی
FIRStorageMetadata *newMetadata = [[FIRStorageMetadata alloc] init]; newMetadata.contentType = nil; // Delete the metadata property [forestRef updateMetadata:newMetadata completion:^(FIRStorageMetadata *metadata, NSError *error){ if (error != nil) { // Uh-oh, an error occurred! } else { // metadata.contentType should be nil } }];
سویفت
let newMetadata = StorageMetadata() newMetadata.contentType = nil do { // Delete the metadata property let updatedMetadata = try await forestRef.updateMetadata(newMetadata) } catch { // ... }
مدیریت خطاها
دلایل مختلفی وجود دارد که ممکن است هنگام دریافت یا بهروزرسانی متادیتا، خطا رخ دهد، از جمله وجود نداشتن فایل یا نداشتن مجوز دسترسی کاربر به فایل مورد نظر. اطلاعات بیشتر در مورد خطاها را میتوانید در بخش «مدیریت خطاها» در مستندات بیابید.
فراداده سفارشی
 شما میتوانید متادیتای سفارشی را به عنوان یک NSDictionary حاوی ویژگیهای NSString مشخص کنید. 
سویفت
let metadata = [ "customMetadata": [ "location": "Yosemite, CA, USA", "activity": "Hiking" ] ]
هدف-سی
NSDictionary *metadata = @{ @"customMetadata": @{ @"location": @"Yosemite, CA, USA", @"activity": @"Hiking" } };
شما میتوانید دادههای مختص برنامه را برای هر فایل در متادیتای سفارشی ذخیره کنید، اما ما اکیداً توصیه میکنیم از یک پایگاه داده (مانند Firebase Realtime Database ) برای ذخیره و همگامسازی این نوع دادهها استفاده کنید.
ویژگیهای فراداده فایل
لیست کاملی از ویژگیهای فراداده در یک فایل در زیر موجود است:
| ملک | نوع | قابل نوشتن | 
|---|---|---|
 bucket | رشته | خیر | 
 generation | رشته | خیر | 
 metageneration | رشته | خیر | 
 fullPath | رشته | خیر | 
 name | رشته | خیر | 
 size | بینرشتهای64 | خیر | 
 timeCreated | تاریخ | خیر | 
 updated | تاریخ | خیر | 
 md5Hash | رشته | بله | 
 cacheControl | رشته | بله | 
 contentDisposition | رشته | بله | 
 contentEncoding | رشته | بله | 
 contentLanguage | رشته | بله | 
 contentType | رشته | بله | 
 customMetadata | [رشته: رشته] | بله | 
آپلود، دانلود و بهروزرسانی فایلها مهم است، اما توانایی حذف آنها نیز به همان اندازه مهم است. بیایید یاد بگیریم که چگونه فایلها را از Cloud Storage حذف کنیم.