diff --git a/Attachments/CSVParser/script.js b/Attachments/CSVParser/script.js new file mode 100644 index 0000000000..c531f937b3 --- /dev/null +++ b/Attachments/CSVParser/script.js @@ -0,0 +1,41 @@ +/********************************************************************************/ +Input: +attachmentQuery - Pass sysId CSV attachment + +Output: +converted into object from CSV + +/********************************************************************************/ + +function parseCSVFile(sysId) { + var attachmentRecord = new GlideRecord("sys_attachment"); + attachmentRecord.get(sysId); + attachmentRecord.query(); + + if (attachmentRecord.next()) { + var stringUtil = new GlideStringUtil(); + var sysAttachment = new GlideSysAttachment(); + var bytesData = sysAttachment.getBytes(attachmentRecord); + var encData = stringUtil.base64Encode(bytesData); + var decData = stringUtil.base64Decode(encData) + ''; + + var delimiter = ','; + var quoteCharacter = '"'; + var csvArray = decData.split("\r\n"); + + var index = 0 + var result = []; + for (index = 0; index < csvArray.length; index++) { + var row = csvArray[index]; + if (row) { + var csvParser = new sn_impex.CSVParser().parseLineToArray(row, delimiter, quoteCharacter); + var rowObject = {}; + for (var i = 0; i < csvParser.length; i++) { + rowObject['column' + (i + 1)] = csvParser[i]; + } + result.push(rowObject); + } + } + return result; + } +} \ No newline at end of file