You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Данный серверный класс включает в себя методы, позволяющие пользователям взаимодействовать с вложениями.

SimpleAttachment()


Используйте этот конструктор класса для создания пустого объекта SimpleAttachment.


SimpleAttachment
const attach = new SimpleAttachment();

base64Decode(data)


Этот метод возвращает строку ASCII, декодированную из указанной строки base64.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
dataStringДаНет


Возвращаемое значение:

ТипОписание
StringДекодированная строка.

Пример:

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

base64Encode(data)


Этот метод преобразует указанную строку в base64.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
dataStringДаНет


Возвращаемое значение:

ТипОписание
StringЗакодированная строка base64

Пример:

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

copy(sourceTableName, sourceID, targetTableName, targetID)


Используйте этот метод, чтобы скопировать вложения из исходной записи в целевую. 


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
sourceTableNameStringДаНет
sourceIDStringДаНет
targetTableNameStringДаНет
targetIDStringДаНет


Возвращаемое значение:

ТипОписание
BooleanМетод возвращает true, если вложения были успешно скопированы. В случае ошибки метод возвращает false.


Пример:

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

deleteAttachment(attachmentID)


Используйте этот метод, чтобы удалить указанное вложение.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
attachmentIDStringДаНет


Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.


Пример:

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

getAttachmentUrlById(attachmentId)


Используйте этот метод, чтобы получить URL указанного вложения в облачном хранилище.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
attachmentIdstringДаНет


Возвращаемое значение:

ТипОписание
StringЭтот метод возвращает URL-адрес вложения в облачном хранилище.

Пример:

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)


Используйте данный метод, чтобы получить содержимое в поле вложения Контент. Поле Контент автоматически заполняется текстовым содержимым прикрепленного файла, если расширение файла входит в список: TXT, INI, REG, CVS, JSON, HTM, HTML, DOC, DOCS, XLS, XLSX.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
attachmentIdStringДаНет

Возвращаемое значение:

ТипОписание
String/ObjectЗначение в поле вложения Контент. Если поле пустое, метод возвращает null.

Пример:

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

readBase64(attachmentId)


Этот метод позволяет получить закодированную строку из указанного вложения. Вместе с методом writeBase64() может использоваться для копирования вложений.

Размер вложения не должен превышать 10 Мб. В случае превышения метод возвращает пустую строку, а в Журнале исключений (sys_log_exception) появляется запись: File size exceeded allowed limit.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
attachmentIdStringДаНет


Возвращаемое значение:

ТипОписание
StringЗакодированная строка base64. В случае, если файл слишком большой, возвращаемая строка может быть пустой.

Пример:

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

rename(attachmentId, fileName)


Данный метод позволяет изменить название файла и его расширение. 


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
attachmentIdStringДаНет
fileNameStringДаНет


Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.


Пример:

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, contentType)


Используйте данный метод, чтобы создать и добавить вложение в указанную запись.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
documentIdStringДаНет
filenameStringДаНет
contentStringДаНет
contentTypeStringДаНет

Возвращаемое значение:

ТипОписание
StringМетод возвращает sys_id вложения; в случае ошибки возвращает null.

Пример:

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)


Данный метод предназначен для создания и добавления вложения к указанной записи, закодированного при помощи base64. Вместе с методом readBase64() может использоваться для копирования вложений.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
documentIDStringДаНет
fileNameStringДаНет
base64StringДаНет
mimeContentTypeStringДаНет

Возвращаемое значение:

ТипОписание
String или NULLМетода возвращает sys_id вложения; в случае ошибки возвращает null.

Пример:

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

  • No labels