zoukankan      html  css  js  c++  java
  • js读取本地磁盘文本文件并保存为JSON数据(有格式的文本)

    主要的代码是红色区域,HTML5获取本地文件对象并进行操作
    //给上传按钮添加点击事件
        $(".myappTXTUploadBtn").click(function(){
    
            var filepath = $(".uploadFace").val().trim();
            if(filepath == ""){
                showBlackPage("请您选择要上传的txt文件","请您选择要上传的txt文件");
                return;
            }
            var last = filepath.substr(filepath.lastIndexOf(".")+1);
            if(last == "txt"){
                var file = $(".uploadFace")[0].files[0];
                var reader = new FileReader();
                reader.readAsText(file, "GB2312");
                var urlData;
                reader.onload = function (e) {
                    urlData = this.result;
                    var dataarray = urlData.split("
    ");
                    var objs = "[";
                    var index = 1;
                    for(var i=0;i<dataarray.length;i++){
                        var data = dataarray[i].trim();
                        if(data == ""){
                            continue;
                        }else{
                            var namestart = data.indexOf("【");
                            var nameend = data.lastIndexOf("】");
                            var str = "";
                            if(namestart != -1 && nameend != -1){
                                var obj = {};
                                obj.replytxt = data.substr(namestart+1,nameend-1);
                                str += data.substr(namestart+1,nameend-1);
                                var imgstart = data.indexOf("〖");
                                var imgend = data.lastIndexOf("〗");
                                if(imgstart != -1 && imgend != -1){
                                    obj.receiveimg = data.substr(imgstart+1,imgend-nameend-2);
                                    str += "
    "+data.substr(imgstart+1,imgend-nameend-2);
                                    obj.receivetxt = data.substr(imgend+1);
                                    str += "
    "+data.substr(imgend+1);
                                }else{
                                    obj.receivetxt = data.substr(nameend+1);
                                    str += "
    "+data.substr(nameend+1);
                                }
                                obj.myappid = index;
                                index++;
                                objs += JSON.stringify(obj)+",";
                            }else{
                                continue;
                            }
                        }
                    }
                    objs = objs.substr(0,objs.lastIndexOf(","));
                    objs += "]"
                    if(weixinid != ""){
                        $.ajax({
                            type:"POST",
                            url:"/api2/app/myappadd?",
                            data:{
                                weixinid:weixinid,
                                "myapp":objs
                            },
                            success:function(serverData){
                                showBlackPage(serverData["提示信息"],serverData["提示信息"]);
                            }
                        });
                    }else{
                        alert("您还没有绑定微信公众账号");
                    }
                }
            }else{
                alert("您上传的不是txt文件");
            }
        });


     

  • 相关阅读:
    4. 变量
    3.进制的转换
    2 java程序入门
    truncate/delete/drop 区别
    sql server查询优化方法(海量数据)
    C#将DataTable转化成数组
    jq获取表格同一行第一列的内容
    C#将时间格式由yyyyMMdd转化成yyyy-MM-dd
    Easyui改变单元格背景颜色和字体颜色
    js判断数组中是否含有某元素(indexOf/includes)
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3294048.html
Copyright © 2011-2022 走看看