[代码块]记录
来源:互联网 发布:淘宝图片空间删不掉 编辑:程序博客网 时间:2024/06/08 00:10
<div style = "display: none"> <form id = "csp_oper_manage_load_oper_form" action="index.html" method="post"> <input type="file" id = "csp_oper_manage_load_oper_file_input" onchange = "cspOperManageLoadOperFileChange(this)"> <button type="button" id = "csp_oper_manage_load_oper_error_btn" ng-click = "cspOperManageLoadOperFileError()">错误</button> <button type="button" id = "csp_oper_manage_load_oper_file_load_btn" ng-click = "cspOperManageLoadOperFileLoad()">上传</button> </form> </div>
$scope.cspOperManageLoadOperFileLoad = function() { $scope.loadoperinfo.errorString = "正在上传并解析文件"; var fd = new FormData(); var file = document.getElementById('csp_oper_manage_load_oper_file_input').files[0]; fd.append('file', file); //检查登录状态及cookie自动登录 var second =5; //自动登录成功 to do... operManageService.cspOperManageLoadOperUploadFile(fd,function(fdres) { if(fdres.result == "succeed") { $scope.loadopers.splice(0,$scope.loadopers.length); $scope.loadopers = fdres.data; $scope.loadoperinfo.loading = false; $scope.loadoperinfo.fileright = true; for(var i = 0; i < $scope.loadopers.length; i++) { $scope.loadopers[i].selected = false; } } else { $scope.loadoperinfo.error = true; $scope.loadoperinfo.errorString = fdres.reason; var timePromise = undefined; timePromise = $interval(function(){ if(second<=0){ $interval.cancel(timePromise); timePromise = undefined; $scope.loadoperinfo.loading = false; } else{ second--; } },500,100); } }) } } //全部选中
service.cspOperManageLoadOperUploadFile = function(params,callback) { $http({ method:'POST', url:"/opermanage/loadoperuploadfile", data: params, headers: {'Content-Type':undefined}, transformRequest: angular.identity// }).success(function(res) { callback(res); }).error(function(res) { var ret = {}; ret.result = "failed"; ret.reason = "请求失败"; callback(ret); }); }
router.post('/loadoperuploadfile',function(req,res) { authorization.checkOperAuthorization(req,function(result) { if(result.authorization == true) { var form = new multiparty.Form({uploadDir: './app/temp/'}); //上传完成后处理 form.parse(req, function(err, fields, files) { var filesTmp = JSON.stringify(files,null,2); if(err) { res.send({"result":"failed","reason":"文件上传失败"}); res.end(); } else { var inputFile = files.file[0]; var uploadedPath = inputFile.path; var filekindarr = uploadedPath.split("."); var kind = filekindarr[filekindarr.length -1].toLowerCase(); if(kind == "csv") { try { var fileStr = fs.readFileSync(uploadedPath, {encoding:'binary'}); var buf = new Buffer(fileStr, 'binary'); var str = iconv.decode(buf, 'GBK'); } catch (e) { if(fs.existsSync(uploadedPath)) { fs.unlinkSync(uploadedPath); } console.error(e); res.send({"result":"failed","reason":"文件内容格式错误"}); res.end(); } finally { var rows =str.split("\r\n"); //排除EXCEL保存CSV文件时最后带空字符 for(var j=0;j<rows.length;j++){ if(rows[j]=='') rows.splice(j,1); } if(rows.length > 1) { var cvsData = [] for(var k = 0; k < rows.length; k ++) { var rData = []; rData = rows[k].split(","); cvsData[k] = rData; } if(cvsData[0][0] === "资产管理人编号" && cvsData[0][1] === "操作员账号" && cvsData[0][2] === "操作员名称" && cvsData[0][3] === "手机号码") { var cvsjson = []; for(var m = 1; m < cvsData.length; m ++) { var oper = {}; oper.maid = cvsData[m][0]; oper.oid = cvsData[m][1]; oper.oname = cvsData[m][2]; oper.phone = cvsData[m][3]; cvsjson[m-1] = oper; } res.send({"result":"succeed","data":cvsjson}); res.end(); } else { res.send({"result":"failed","reason":"文件内容格式错误"}); res.end(); } } else { res.send({"result":"failed","reason":"文件内容格式错误"}); res.end(); } if(fs.existsSync(uploadedPath)) { fs.unlinkSync(uploadedPath); } } } else { try { var obj = xlsx.parse(uploadedPath); } catch (e) { if(fs.existsSync(uploadedPath)) { fs.unlinkSync(uploadedPath); } console.error(e); res.send({"result":"failed","reason":"文件内容格式错误"}); res.end(); } finally { if(typeof(obj) == "undefined") { return; } var xlsData = obj[0].data; if(xlsData.length > 1) { if(xlsData[0][0] === "资产管理人编号" && xlsData[0][1] === "操作员账号" && xlsData[0][2] === "操作员名称" && xlsData[0][3] === "手机号码") { var xlsjson = []; for(var i = 1; i < xlsData.length; i ++) { var oper = {}; oper.maid = xlsData[i][0]; oper.oid = xlsData[i][1]; oper.oname = xlsData[i][2]; oper.phone = xlsData[i][3]; xlsjson[i-1] = oper; } res.send({"result":"succeed","data":xlsjson}); res.end(); } else { res.send({"result":"failed","reason":"文件内容格式错误"}); res.end(); } } else { res.send({"result":"failed","reason":"文件内容格式错误"}); res.end(); } if(fs.existsSync(uploadedPath)) { fs.unlinkSync(uploadedPath); } } } } }) } else { res.send({"result":"failed","reason":"未授权的请求"}); res.end(); } })})
阅读全文
0 0
- [代码块]记录
- 实用代码块记录1
- 实用代码块记录2
- 实用代码块记录3
- 实用代码块记录4
- 实用代码块记录5
- 实用代码块记录6
- 实用代码块记录7
- 实用代码块记录8
- 实用代码块记录9
- 实用代码块记录10
- Java基础学习记录之代码块
- WTF! switch case 多个值同一代码块的错误记录
- 记录一次关于synchronized同步代码块的问题
- 代码块
- 代码块
- 代码块
- 代码块
- 第十五周项目1
- 北京出台首个无人驾驶新规;余承东称华为明年进军美国;欧盟要求比特币实名交易丨价值早报
- 创投日报:12月18日收录投融资项目14起
- 2017 BTAwards「潜在价值」榜单揭榜丨T-EDGE 2017
- 说话就是生产力-孙路弘讲课笔记
- [代码块]记录
- 2017 BTAwards「前沿科技」榜单揭榜丨T-EDGE 2017
- 怎样获取图片的src
- 6. cd mkdir rmdir rm
- Idea中的html文件约束URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs
- 四只好玩的linux命令
- 如何调整linux的时间为北京时间、修改linux vps的时间和时区
- jnative 调用dll
- 自保存业务层返回bean类