/

Temporal Files & Expiration

ByteHide Storage allows you to control temporary access to files and set expiration times for content.

Temporary Access

Generate Temporary URLs

Create time-limited access to private files:

// Generate URL that expires in 1 hour
var tempUrl = await storage
    .GetTemporaryUrl(
        "private/documents/report.pdf",
        TimeSpan.FromHours(1)
    );

// Custom expiration date
var customUrl = await storage
    .GetTemporaryUrl(
        "secure/contract.pdf",
        DateTime.UtcNow.AddDays(7)
    );

Temporary Access Settings

Configure temporary access behavior:

// Short-lived access (15 minutes)
var quickAccess = await storage
    .GetTemporaryUrl(
        "temp/preview.pdf",
        TimeSpan.FromMinutes(15)
    );

// Extended access (30 days)
var extendedAccess = await storage
    .GetTemporaryUrl(
        "archive/2024/january.zip",
        TimeSpan.FromDays(30)
    );

File Expiration

Upload with Expiration

Set expiration time when uploading files:

// File expires in 24 hours
await storage
    .SetExpiration(TimeSpan.FromHours(24))
    .Set("temp/daily-report.pdf", reportData);

// File expires at specific date
await storage
    .SetExpiration(DateTime.UtcNow.AddMonths(1))
    .Set("contracts/draft.pdf", contractData);

Directory Expiration

Apply expiration to all files in a directory:

// All files expire in 7 days
var tempStorage = storage
    .In("temporary")
    .SetExpiration(TimeSpan.FromDays(7));

await tempStorage.Set("file1.txt", data1);
await tempStorage.Set("file2.txt", data2);

Best Practices

Security Considerations

// Combine with encryption for sensitive temporary files
await storage
    .Encrypt()
    .SetExpiration(TimeSpan.FromHours(1))
    .Set("secure/temp.dat", sensitiveData);

// Use short expiration for sensitive content
var secureUrl = await storage
    .GetTemporaryUrl(
        "confidential/doc.pdf",
        TimeSpan.FromMinutes(30)
    );

Security Note

  • Use the shortest practical expiration time
  • Consider your application's security requirements
  • Monitor and audit temporary access usage
  • Remember that expired files are automatically deleted

Usage Patterns

// Temporary file upload area
var uploadStorage = storage
    .In("uploads/temp")
    .SetExpiration(TimeSpan.FromHours(24));

// Download area with extended access
var downloadUrl = await storage
    .GetTemporaryUrl(
        "downloads/large-file.zip",
        TimeSpan.FromDays(2)
    );

Best Practices

  • Use clear naming conventions for temporary files
  • Organize temporary files in dedicated directories
  • Document expiration policies
  • Consider implementing cleanup notifications
Previous
File Listing & Indexing