({ readFile: function (component, helper, file) { debugger if (!file) return; if (!file.name.match(/\.(csv||CSV)$/)) { return alert('only support csv files'); } else { reader = new FileReader(); reader.onerror = function errorHandler(evt) { switch (evt.target.error.code) { case evt.target.error.NOT_FOUND_ERR: alert('File Not Found!'); break; case evt.target.error.NOT_READABLE_ERR: alert('File is not readable'); break; case evt.target.error.ABORT_ERR: break; // noop default: alert('An error occurred reading this file.'); }; } reader.onabort = function (e) { alert('File read cancelled'); }; reader.onloadstart = function (e) { var output = '
  • ' + file.name + ' (' + file.type + ')- ' + file.size + 'bytes, last modified: ' + file.lastModifiedDate.toLocaleDateString() + '
  • '; component.set("v.filename", file.name); component.set("v.TargetFileName", output); }; reader.onload = function (e) { var data = e.target.result; // data.replace(/\n/,"") var allTextLines11 = data.split(/\r/); var s = allTextLines11.toString(); component.set("v.fileContentData", s); console.log("file dataqqq" + JSON.stringify(s)); var allTextLines = data.split(/\r\n|\n/); var dataRows = allTextLines.length - 1; var headers = allTextLines[0].split(','); var numOfRows = component.get("v.NumOfRecords"); if (dataRows > numOfRows + 1 || dataRows == 1 || dataRows == 0) { alert("File Rows between 1 to " + numOfRows + " ."); component.set("v.showMain", true); } else { var lines = []; var filecontentdata; var content = ""; content += ""; content += ''; for (i = 0; i < headers.length; i++) { content += ''; } content += ""; for (var i = 1; i < allTextLines.length; i++) { filecontentdata = allTextLines[i].split(','); if (filecontentdata[0] != '') { content += ""; content += ""; for (var j = 0; j < filecontentdata.length; j++) { content += ''; } content += ""; } } content += "
    ' + '行号' + '' + headers[i] + '
    " + i + "' + filecontentdata[j] + '
    "; console.log(content); component.set("v.TableContent", content); component.set("v.showMain", false); } } reader.readAsText(file, 'gb2312'); } var reader = new FileReader(); reader.onloadend = function () { }; reader.readAsDataURL(file); }, saveRecords: function (component, event, helper) { debugger component.set('v.login', true); var action = component.get("c.processData"); var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields action.setParams({ fileData: component.get("v.fileContentData"), sobjectName: 'Account', //Any object fields: fieldsList }); action.setCallback(this, function (response) { var state = response.getState(); if (state === "SUCCESS") { var res = response.getReturnValue(); var res1 = ''; debugger; if (res != 'success') { var ress = res.split('='); console.log(ress); for (var i = 0; i < ress.length; i++) { res1 += ress[i].substr(7) + '\n'; } console.log("==" + res1); // this.error( "请修改后重新上传"); component.set('v.errorMessage', res1 + "请修改后重新上传"); this.showErrorToast(component); component.set('v.login', false); component.find('save_con').set('v.disabled', true); } else { // this.success('导入成功'); component.set('v.successMessage', '导入成功'); this.showSuccessToast01(component); component.set("v.showMain", true); component.set('v.login', false); component.find('save_con').set('v.disabled', false); } } else if (state === "INCOMPLETE") { component.set('v.login', false); } else if (state === "ERROR") { var errors = response.getError(); if (errors) { if (errors[0] && errors[0].message) { console.log("Error message: " + errors[0].message); component.set('v.login', false); } } else { console.log("Unknown error"); component.set('v.login', false); } } }); $A.enqueueAction(action); }, //弹出 成功提示 showSuccessToast01: function (component) { $A.util.removeClass(component.find('successDiv01'), 'slds-hide'); window.setTimeout($A.getCallback(function () { $A.util.addClass(component.find('successDiv01'), 'slds-hide'); }), 3000 ); }, //弹出 错误提示 showErrorToast: function (component) { $A.util.removeClass(component.find('errorDiv'), 'slds-hide'); window.setTimeout($A.getCallback(function () { $A.util.addClass(component.find('errorDiv'), 'slds-hide'); }), 7000 ); }, success : function(message) { var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title" : "成功!", "message" : message, "duration" : "5000" }); toastEvent.fire(); }, warning : function(message) { var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "警告!", "message": message, "duration" : "10000" }); toastEvent.fire(); }, error : function(message) { var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "错误!", "message": message, "duration" : "sticky" }); toastEvent.fire(); }, })