Name
sn_nlu_workbench.NLUFileUtil
Description
Utilities related to files and attachments
Script
var NLUFileUtil = Class.create();
(function() {
var sysProps = NLUWorkbenchConstants.sysProps;
var constants = NLUWorkbenchConstants.constants;
var maxSizeMB = parseInt(gs.getProperty(sysProps.ATTACHMENT_MAX_SIZE, 5));
NLUFileUtil.getMaxFileSize = function() {
return maxSizeMB;
};
NLUFileUtil.checkFileSize = function(size) {
if (!size) return false;
var fileSizeMB = parseInt(size) / (1024 * 1024); // size comes in as bytes.
return fileSizeMB <= maxSizeMB;
};
NLUFileUtil.getFileNameAndExtension = function(fileName, validFileTypes) {
if (!fileName) return null;
var extMatch = fileName.match(constants.FILE_EXTENSION_REGEX);
if (!extMatch) return null;
if (validFileTypes && validFileTypes.indexOf(extMatch[2]) < 0) return null;
return [extMatch[1], extMatch[2]];
};
NLUFileUtil.antiVirusCheck = function(attachmentId) {
var responseMap = sn_snap.AntiVirusOnDemandAdvisor.getAvailabilityForDownload(attachmentId);
return responseMap ? responseMap["availability"] : 'failure';
};
NLUFileUtil.uploadFile = function(record, fileName, fileType, fileContents) {
var dataUrl = fileContents.replace(constants.BASE64_PREFIX_REGEX, '');
var attachment = new GlideSysAttachment();
return attachment.writeBase64(record, fileName, fileType, dataUrl);
};
NLUFileUtil.prototype = {
initialize: function() {},
type: 'NLUFileUtil'
};
})();
Sys ID
d1acc9580700201028ef0a701ad300e6