File Metadata & Information
ByteHide Storage provides detailed information about your stored files through metadata.
File Information
Basic File Details
Get information about stored files:
// Get file information
var fileInfo = await storage.GetInfoAsync("documents/report.pdf");
// Access basic properties
Console.WriteLine($"Name: {fileInfo.Name}");
Console.WriteLine($"Size: {fileInfo.Size}");
Console.WriteLine($"Last Modified: {fileInfo.LastModified}");
Console.WriteLine($"Content Type: {fileInfo.ContentType}");
Security Information
Access security-related metadata:
// Check security settings
Console.WriteLine($"Is Encrypted: {fileInfo.IsEncrypted}");
Console.WriteLine($"Is Quantum Encrypted: {fileInfo.IsQuantumEncrypted}");
Console.WriteLine($"Is Public: {fileInfo.IsPublic}");
Console.WriteLine($"Is Compressed: {fileInfo.IsCompressed}");
File Properties
Storage Properties
Access storage-specific information:
// Get storage context
Console.WriteLine($"Storage Path: {fileInfo.Path}");
Console.WriteLine($"Directory: {fileInfo.Directory}");
Console.WriteLine($"Full Path: {fileInfo.FullPath}");
File Status
Check file status and validity:
// Verify file existence
if (await storage.ExistsAsync("documents/report.pdf"))
{
var info = await storage.GetInfoAsync("documents/report.pdf");
Console.WriteLine($"File exists and is {info.Size} bytes");
}
// Check file accessibility
try
{
var info = await storage.GetInfoAsync("secure/file.dat");
Console.WriteLine("File is accessible");
}
catch (StorageException ex)
{
Console.WriteLine("File is not accessible");
}
Batch Information
Get information for multiple files:
// Get info for all files in directory
var directoryFiles = await storage
.In("documents")
.ListAsync();
foreach (var file in directoryFiles)
{
Console.WriteLine($"File: {file.Name}");
Console.WriteLine($"Size: {file.Size}");
Console.WriteLine($"Encrypted: {file.IsEncrypted}");
Console.WriteLine("---");
}
Performance Tips
- Use
ListAsync()
when you need information about multiple files - Cache metadata information if you need to access it frequently
- Consider using file information to optimize storage operations