Action that compresses or decompresses files Supports ZIP format with various compression levels

Example

// Compress multiple files into ZIP
await runAction({
ActionName: 'File Compress',
Params: [{
Name: 'Operation',
Value: 'compress'
}, {
Name: 'Files',
Value: [
{ name: 'report.pdf', data: pdfBase64Data },
{ name: 'data.csv', data: csvData }
]
}]
});

// Decompress ZIP file
await runAction({
ActionName: 'File Compress',
Params: [{
Name: 'Operation',
Value: 'decompress'
}, {
Name: 'FileURL',
Value: 'https://example.com/archive.zip'
}]
});

// Compress with options
await runAction({
ActionName: 'File Compress',
Params: [{
Name: 'Operation',
Value: 'compress'
}, {
Name: 'Files',
Value: filesArray
}, {
Name: 'CompressionLevel',
Value: 9
}, {
Name: 'OutputFileID',
Value: true
}]
});

Hierarchy

  • BaseFileHandlerAction
    • FileCompressAction

Constructors

Methods

  • Compresses or decompresses files

    Parameters

    • params: RunActionParams<any>

      The action parameters containing:

      • Operation: "compress" | "decompress" (required)
      • For compress:
        • Files: Array of file objects with { name: string, data: string/Buffer }
        • CompressionLevel: 0-9 (default: 6, 0=store only, 9=maximum compression)
        • Format: "zip" (currently only ZIP supported)
      • For decompress:
        • FileID/FileURL/Data: Input compressed file
      • OutputFileID: Save result to MJ Storage (optional)
      • FileName: Name for output file (default: 'archive.zip' or 'extracted_files.json')

    Returns Promise<ActionResultSimple>

    Compressed/decompressed data

  • Executes the action with the provided parameters.

    Parameters

    • params: RunActionParams<any>

      The action execution parameters including context

    Returns Promise<ActionResultSimple>

    Promise resolving to the action result

  • Get file content from various sources based on parameters Priority: FileID > FileURL > Data parameter

    Parameters

    • params: RunActionParams<any>

      Action parameters

    • dataParamName: string

      Name of the parameter containing direct data

    • fileParamName: string = 'FileID'

      Name of the parameter containing file ID (default: 'FileID')

    • urlParamName: string = 'FileURL'

      Name of the parameter containing file URL (default: 'FileURL')

    Returns Promise<{
        content: string | Buffer;
        fileName?: string;
        mimeType?: string;
        source: "url" | "storage" | "direct";
    }>

    Object with content and metadata