cabrillo.attachments - Client

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:9分
  • The name space for Cabrillo JS attachment functions. This enables adding and viewing attachments.

    cabrillo.attachments - addFile(String tableName, String sysId, Object params, String options)

    Presents a document picker and uploads the selected file.

    重要:
    This method is deprecated. Use the addFiles() method instead.
    表 : 1. Parameters
    Name Type Description
    tableName String Table name of the record to which to attach the attachment.
    sysID String The sys_id of the record to which to attach the attachment.
    params Object Unused. Set to null.
    options String Unused. Set to null.
    表 : 2. Returns
    Type Description
    promise If successful a Cabrillo.Attachment object. If the operation fails, an error.
    var table = 'incident';
    var sysID = 'a9e30c7dc61122760116894de7bcc7bd';
    
    cabrillo.attachments.addFile(table,
        sysID, 
        null,
        null
    ).then(function(attachment) {
        if (attachment) {
            console.log('Added a new file.', attachment);
        } else {
            console.log('User cancelled adding an attachment.');
        }
    }, function(error) {
        console.log('Failed to attach new file.', error);
    });

    cabrillo.attachments - addFiles(String tableName, String sysId, Object params, Object options)

    Presents a document picker to select and upload files.

    表 : 3. Parameters
    Name Type Description
    tableName String Name of the table that contains the record to attach the file to.
    sysID String Sys_id of the record to attach the file to.
    params Object Optional. Reserved for future use. Set to null.
    options Object Optional. Additional settings for uploading files.
    {
      "isSingleSelection": Boolean
    }
    options.isSingleSelection Boolean

    Optional. Flag that indicates whether the document picker for uploading files allows multi-selection.

    Valid values:
    • true: Only one file to upload can be selected at a time.
    • false: Multiple files to upload can be selected at a time.

    Default: False

    表 : 4. Returns
    Type Description
    Promise Contains any successfully created attachments and any errors.

    If multiple files were selected, a Cabrillo.Attachment is created for each successfully uploaded file while an error message is generated for each unsuccessful upload.

    Data type: Object

    { 
       “attachments”: [Array], 
       “errors”: [Array] 
    }
    Promise.attachments Contains any successfully created attachments.

    Data type: Array

    “attachments”: [Cabrillo.Attachment]
    Promise.errors Contains any errors.

    Data type: Array

    “errors”: ["String"]

    This example creates a button for adding multiple attachments to an incident record and checks for any upload errors.

    this.attachMultipleFilesButton = function() {
       c.log("Attempting to add multiple attachments to INC0010453");
       var table = 'incident';
       var sysID = 'fc74aefa1bfb2c10181499f1b24bcb3c';
    
       cabrillo.attachments.addFiles(table, sysID).then(function(result) {
          if (result) {
             handleMultipleResult(result)
          } else {
             c.log('User cancelled adding an attachment.');
          }
       }, function(error) {
          c.log('Failed to attach new files.', error);
       });
    }
    
    // A helper function to handle addFiles results 
    function handleMultipleResult(result) {
       c.log('Added multiple attachments.', result);
       if (result.attachments) {
          c.log('Number of new attachments', result.attachments.length);
       }
       if (result.errors) {
          c.log('Number of errors during upload', result.errors.length);
       }
    }

    cabrillo.attachments -viewFile(Cabrillo.Attachment attachment, Cabrillo.Rect sourceRect, String sourceBase64Image)

    Presents a document picker and uploads the selected file.

    注:
    Scaling using a sourceRect parameter with a sourceBase64 image is only supported on iOS. Android ignores these parameters and opens the image without a scaling animation.
    表 : 5. Parameters
    Name Type Description
    attachment Cabrillo.Attachment Describes the attachment to view.
    sourceRect Cabrillo.Rect Optional. Describes the source rectangle of the image to scale up.
    sourceBase64Image String Optional. A base64 representation of the source image to scale up.
    表 : 6. Returns
    Type Description
    promise If successful, an unresolved object, otherwise an error.
    // A Cabrillo.Attachment dictionary to view
    var attachment = {
        sys_id: '8e99daa3ff133100ba13ffffffffff2d',
        content_type: 'image/jpeg',
        path: '8e99daa3ff133100ba13ffffffffff2d.iix'
    };
    
    cabrillo.attachments.viewFile(attachment,
        null,
        null
    ).then(function() {
        // It worked. Nothing to do here.
    }, function(error) {
        console.log('Failed to view file.', error);
    });

    To scale an image that was tapped into a native image viewer, the viewFile() method accepts optional arguments for the image's rectangle on the page as well as a base64 encoded thumbnail of the image. The thumbnail is scaled into the full size image with an animation.

    // Grab image metadata from an image that was tapped
    var imageMetadata = imageMetadataFromEvent(event);
    
    // Optional rect of image on page
    var imageRect = imageMetadata.rect;
    
    // Optional base64 encoded image to scale up into native viewer
    var base64EncodedImage = imageMetadata.base64;
    
    // A Cabrillo.Attachment dictionary to view
    var attachment = {
        sys_id: '8e99daa3ff133100ba13ffffffffff2d',
        content_type: 'image/jpeg',
        path: '8e99daa3ff133100ba13ffffffffff2d.iix'
    }
    
    cabrillo.attachments.viewFile(attachment,
        imageRect,
        base64EncodedImage
    ).then(function() {
        // It worked. Nothing to do here.
    }, function(error) {
        console.log('Failed to view file.', error);
    });