Skip to main content
Version: 1.21.3

SimpleAttachment

This server class provides methods for operating the attachments.

SimpleAttachment()


Use this constructor to create an empty SimpleAttachment object.

SimpleAttachment()
const attach = new SimpleAttachment();

base64Decode(data)


Use this method to return an ASCII string decoded from the base64 string specified.

Parameter(s):

NameTypeMandatoryDefault value
dataStringYN
strictBooleanNtrue

If the input data contains symbols that are not in the base64 alphabet, and the strict parameter is set to true, the method base64_decode() returns false. If the strict parameter is set to false, the symbols that are not in base64 will be omitted.

Return:

TypeDescription
StringThis method returns a decoded string.

Example:

base64Decode()
const attach = new SimpleAttachment();
const result = attach.base64Decode('TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=');
ss.info(result);
// Info: Lorem ipsum dolor sit amet

base64Encode(data)


Use this method to return a base64 string from the string specified.

Parameter(s):

NameTypeMandatoryDefault value
dataStringYN

Return:

TypeDescription
StringThis method returns an encoded base64 string.

Example:

base64Encode()
const attach = new SimpleAttachment();
const result = attach.base64Encode('Lorem ipsum dolor sit amet');
ss.info(result);
// Info: TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=

copy(sourceTableName, sourceID, targetTableName, targetID)


Use this method to copy attachments from the source record to the target record.

Parameter(s):

NameTypeMandatoryDefault value
sourceTableNameStringYN
sourceIDStringYN
targetTableNameStringYN
targetIDStringYN

Return:

TypeDescription
BooleanThis method returns true if attachments have been copied successfully; otherwise, it returns false.

Example:

copy()
const attach = new SimpleAttachment();
attach.copy('sys_email', '155964310500000059', 'task', current.sys_id);

deleteAttachment(attachmentId)


Use this method to delete the specified attachment.

Parameter(s):

NameTypeMandatoryDefault value
attachmentIDStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

deleteAttachment()
const attach = new SimpleAttachment();
attach.deleteAttachment('157052637119478714');

getAttachmentUrlById(attachmentId)


Use this method to get the URL of the specified attachment in the cloud storage.

Parameter(s):

NameTypeMandatoryDefault value
attachmentIdstringYN

Return:

TypeDescription
StringThis method returns the attachment URL in the cloud storage.

Example:

getAttachmentUrlById()
const ATTACH_ID = '163553718313772587';
const simpleAttach = new SimpleAttachment();
const attachUrl = simpleAttach.getAttachmentUrlById(ATTACH_ID);
ss.info(attachUrl);
// Info: https://s3-{your-instance-url}/public-attachment/5/32/9bnc2pcb3axyfatgtc6lsi7...

getContent(attachmentId)


Use this method to get the attached content as a string in the Content field. The field is filled automatically if the file is of type .txt.

Parameter(s):

NameTypeMandatoryDefault value
attachmentIdSimpleRecordYN

Return:

TypeDescription
String/ObjectThis method returns the attachment content as a string if the file is .txt. If the field is empty or the attachment is of another format, the method return null.

Example:

getContent()
const attach = new SimpleAttachment();
ss.info(attach.getContent('168109939701169218'));
// Info: task active additional_comments approval_state ...

readBase64(attachmentId)


Use this method to get an encoded string from the specified attachment. Together with the writeBase64() method, you can use it to copy attachments.

caution

The attachment size is limited up to 10 MB; otherwise, the method returns an empty string, and the following exception: File size exceeded allowed limit appears in the Exception Logs (sys_log_exception) table.

Parameter(s):

NameTypeMandatoryDefault value
attachmentIdStringYN

Return:

TypeDescription
StringThis method returns a base64-encoded string. If the file is too big, the return value can be empty.

Example:

readBase64()
const read = new SimpleAttachment();
ss.info(read.readBase64('168025458107121347'));
// Info: 0YLQtdGB0YLQvtCy0YvQuSDQtNC+0LrRg9C80LXQvdGC

rename(attachmentId, fileName)


Use this method to rename an attachment and its extension.

Parameter(s):

NameTypeMandatoryDefault value
attachmentIdStringYN
fileNameStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

rename()
const DOC_ID = ss.getDocIdByIds(current.sys_db_table_id, current.sys_id);
const simpleAttach = new SimpleAttachment();
const attachRecord = new SimpleRecord('sys_attachment');
attachRecord.addQuery('record_document_id', DOC_ID);
attachRecord.addQuery('mime_content_type', 'application/json');
attachRecord.selectAttributes('sys_id');
attachRecord.query();
attachRecord.next();
simpleAttach.rename(attachRecord.sys_id, `${current.number} - ${current.subject}.json`);

write(documentId, fileName, content, mimeContentType)


Use this method to create and add an attachment to the record specified.

Parameter(s):

NameTypeMandatoryDefault value
documentIdStringYN
filenameStringYN
contentStringYN
mimeContentTypeStringYN

Return:

TypeDescription
StringThis method returns the ID of the attachment; in case of an error, it returns null.

Example:

write()
const simpleAttach = new SimpleAttachment();
const attachID =
simpleAttach.write(
ss.getDocIdByIds(current.sys_db_table_id, current.sys_id),
'readme.json',
JSON.stringify(current.getAttributes(), null, '\t'),
'application/json'
);

writeBase64(documentId, fileName, base64, mimeContentType)


Use this method to create and add an attachment encoded with the base64 to the record specified. Together with the readBase64() method, you can use it to copy attachments.

Parameter(s):

NameTypeMandatoryDefault value
documentIDStringYN
fileNameStringYN
base64StringYN
mimeContentTypeStringYN

Return:

TypeDescription
StringThis method returns the ID of the attachment; in case of an error, it returns null.

Example:

writeBase64()
const CURRENT_USER_DOC_ID = ss.getDocIdByIds(ss.getUser().sys_db_table_id, ss.getUserID());
const simpleAttach = new SimpleAttachment();
const base64Value = 'R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=';
const attachId = simpleAttach.writeBase64(
CURRENT_USER_DOC_ID,
'file_example.gif',
base64Value,
'image/gif'
);
ss.info(attachId);
//Info: 162245472311776172