Возникла проблема при отправке CSV-файла в виде почтового вложения с использованием Javascript - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь отправить файл csv как вложение. Я могу это сделать, но проблема в том, что все данные поступают в одной строке. Я попытался добавить «\ n», чтобы создать новую строку при добавлении данных в массив, но он также отображается как '\ n' во вложении файла.

Фрагмент кода для преобразования для преобразования json данных в строку base64 и отправки файла как вложения.

Json Данные:

jsonResult.Products[{PRODUCT_ID: 123, PRODUCT_NUMBER: "00022", PRODUCT_NAME: "HONDA", PRODUCT_TYPE: "VEHICLE "},
{PRODUCT_ID: 783, PRODUCT_NUMBER: "08412394", PRODUCT_NAME: "HONDA", PRODUCT_TYPE: "MOTOR "}......]

функция для создания данных csv и преобразования в строку base64.

 function generateCSV(csvData) {
        var base64string = '';
        var tempCSVNumber = 0;
        var CSVData = [];
        var str='';
        var colStr = '';
        $("#ddlSelectedlist > option").each(function () {
            str +=  ''+this.text +',';
            colStr += '"' + this.value + '",';
        });

        CSVData.push(str);

        for (var i = tempCSVNumber; i <= csvData.length - 1; i++) {
            var item = csvData[i];
            var csvVal = '';
            var headerString = colStr.substring(0, colStr.length - 1);
            result = headerString
                .split(',')
                .map(key => {
                    var val = item[key.toUpperCase()
                        .replace(/"/g, '')];
                        if (val == null)
                            val = '';
                        csvVal +=  val + ',';
                    }
                    return csvVal;
                })
            CSVData.push(csvVal);
        }
        var csv = CSVData.join('\n');

        var base64string = btoa(JSON.stringify([csv]));
        return base64string;
    }

Когда я пытался отправить эту строку base64 как вложение к методу. получение данных csv, как показано ниже, что неверно, и данные поступают в одну строку.

enter image description here

Но я хочу, чтобы данные были добавлены в следующую строку и удалили "[" "\ n". Пожалуйста, дайте мне знать, как правильно выровнять данные.

...