multipart-upload-reactive
Reactive icon

Multipart Upload Reactive

version 0.1.0 (Compatible with OutSystems 11)
Uploaded
 on 7 Jul (11 hours ago)
 by 
5.0
 (4 ratings)
multipart-upload-reactive

Multipart Upload Reactive

Documentation
0.1.0

0.1.0 Update: denote in red

Dependencies

  • OutSystems UI (built-in)
  • Binary Concat


Architecture

MultipartUpload_CW (Core Widget) → MultipartUpload_API (Exposed API) → MultipartUpload_CS (Core Service)


Detailed Functionalities

1. MultipartUpload_CW: Exposes core functionalities of the component.

  • Block
    • MultipartUpload: Upload widget enables uploading multiple large files at once.
    • MultipartUpload_CSV: New block specialized for uploading large CSV files efficiently by splitting them into 10MB chunks (ending at line boundaries), appending headers to each chunk, and uploading these as individual parts.
      • Ideal for data import scenarios, allowing batch processing of CSV data for reliability and performance.
  • Client Actions
    • FileDownload: Download a file locally using REST API instead of OutSystems' Download Action given the File UID. Improved upload speed with progress tracking by the browser.
  • Server Actions
    • FileDelete: Delete a file from the database given the File UID.
    • FileGet: Get the file information & binary from the database given the File UID.


2. MultipartUpload_API: REST API for file uploading & downloading.

  • Integrations/REST/v1: Expose methods for single & multi-part file uploading, enables file download through REST API.
  • Service Actions
    • GetPreSignedUrl_Download
    • GetPreSignedUrl_Multiple
    • GetPreSignedUrl_Single


3. MultipartUpload_CS: Database tables and Server Actions to support file uploading, downloading, and concatenating binary chunks.

  • Database tables
    • File: File information (name, size, content-type).
    • FileBinary: File actual binary after concatenating chunks/parts.
    • FilePart: File's binary chunks/parts.
  • Server Actions
    • AbortMultipartUpload
    • CompleteMultipartUpload
    • CreateMultipartUpload
  • Processes
    • DeleteFileParts: Invoke after concatenating file in CompleteMultipartUpload action.

0.0.1

Dependencies

  • OutSystems UI (built-in)
  • Binary Concat


Architecture

MultipartUpload_CW (Core Widget) → MultipartUpload_API (Exposed API) → MultipartUpload_CS (Core Service)


Detailed Functionalities

1. MultipartUpload_CW: Exposes core functionalities of the component.

  • Block
    • MultipartUpload: Upload widget enables uploading multiple large files at once.
  • Client Actions
    • FileDownload: Download a file locally using REST API instead of OutSystems' Download Action given the File UID. Improved upload speed with progress tracking by the browser.
  • Server Actions
    • FileDelete: Delete a file from the database given the File UID.
    • FileGet: Get the file information & binary from the database given the File UID.


2. MultipartUpload_API: REST API for file uploading & downloading.

  • Integrations/REST/v1: Expose methods for single & multi-part file uploading, enables file download through REST API.
  • Service Actions
    • GetPreSignedUrl_Download
    • GetPreSignedUrl_Multiple
    • GetPreSignedUrl_Single


3. MultipartUpload_CS: Database tables and Server Actions to support file uploading, downloading, and concatenating binary chunks.

  • Database tables
    • File: File information (name, size, content-type).
    • FileBinary: File actual binary after concatenating chunks/parts.
    • FilePart: File's binary chunks/parts.
  • Server Actions
    • AbortMultipartUpload
    • CompleteMultipartUpload
    • CreateMultipartUpload
  • Processes
    • DeleteFileParts: Invoke after concatenating file in CompleteMultipartUpload action.