Skip to main content
Version: 0.5.0 (Previous)

📁 File Storage Blocks

File storage blocks provide secure file management capabilities for NodeBlocks applications. These blocks handle file upload, download, and deletion operations through cloud storage providers with signed URLs for enhanced security.


🎯 Overview

File storage blocks are designed to:

  • Generate signed URLs for secure file operations
  • Support multiple file types with content type validation
  • Handle avatar uploads with automatic UUID generation
  • Provide cloud storage integration through storage drivers
  • Ensure secure file access with pre-signed URLs
  • Support file lifecycle management (upload, download, delete)

📋 File Storage Block Types

Core File Storage Blocks

Basic file storage operations for general file management.

Avatar File Storage Blocks

Specialized blocks for avatar file uploads with predefined settings.

Signed URL Generation Blocks

Blocks for creating secure, time-limited access URLs for file operations.


🔧 Available File Storage Blocks

Core Operations

  • generateSignedUploadUrl - Generate signed URL for file uploads
  • generateSignedDownloadUrl - Generate signed URL for file downloads
  • generateSignedDeleteUrl - Generate signed URL for file deletion
  • deleteFile - Delete a file directly via storage driver

Avatar Operations

  • generateSignedAvatarUploadUrl - Generate signed URL for avatar uploads with UUID

🚀 Quick Start

import { 
generateSignedUploadUrl,
generateSignedDownloadUrl,
generateSignedAvatarUploadUrl
} from '@nodeblocks/backend-sdk/blocks/file-storage';

// Generate upload URL
const uploadResult = await generateSignedUploadUrl(
logger,
fileStorageDriver,
'image/jpeg',
1024000,
'uploads/document.pdf'
);

// Generate download URL
const downloadResult = await generateSignedDownloadUrl(
logger,
fileStorageDriver,
'uploads/document.pdf'
);

// Generate avatar upload URL
const avatarResult = await generateSignedAvatarUploadUrl(
logger,
fileStorageDriver,
'image/png',
512000
);

🔍 Schemas

JSON Schema/OpenAPI definitions for file storage operations:

  • getSignedImageUploadUrlSchema: Image upload signed URL generation (OpenAPI operation with query parameters and response)

View File Storage Schema Blocks →