1. 主要的代码是红色区域,HTML5获取本地文件对象并进行操作
  1. //给上传按钮添加点击事件
  2. $(".myappTXTUploadBtn").click(function(){
  3.  
  4. var filepath = $(".uploadFace").val().trim();
  5. if(filepath == ""){
  6. showBlackPage("请您选择要上传的txt文件","请您选择要上传的txt文件");
  7. return;
  8. }
  9. var last = filepath.substr(filepath.lastIndexOf(".")+1);
  10. if(last == "txt"){
  11. var file = $(".uploadFace")[0].files[0];
  12. var reader = new FileReader();
  13. reader.readAsText(file, "GB2312");
  14. var urlData;
  15. reader.onload = function (e) {
  16. urlData = this.result;
  17. var dataarray = urlData.split("\n");
  18. var objs = "[";
  19. var index = 1;
  20. for(var i=0;i<dataarray.length;i++){
  21. var data = dataarray[i].trim();
  22. if(data == ""){
  23. continue;
  24. }else{
  25. var namestart = data.indexOf("【");
  26. var nameend = data.lastIndexOf("】");
  27. var str = "";
  28. if(namestart != -1 && nameend != -1){
  29. var obj = {};
  30. obj.replytxt = data.substr(namestart+1,nameend-1);
  31. str += data.substr(namestart+1,nameend-1);
  32. var imgstart = data.indexOf("〖");
  33. var imgend = data.lastIndexOf("〗");
  34. if(imgstart != -1 && imgend != -1){
  35. obj.receiveimg = data.substr(imgstart+1,imgend-nameend-2);
  36. str += "\n"+data.substr(imgstart+1,imgend-nameend-2);
  37. obj.receivetxt = data.substr(imgend+1);
  38. str += "\n"+data.substr(imgend+1);
  39. }else{
  40. obj.receivetxt = data.substr(nameend+1);
  41. str += "\n"+data.substr(nameend+1);
  42. }
  43. obj.myappid = index;
  44. index++;
  45. objs += JSON.stringify(obj)+",";
  46. }else{
  47. continue;
  48. }
  49. }
  50. }
  51. objs = objs.substr(0,objs.lastIndexOf(","));
  52. objs += "]"
  53. if(weixinid != ""){
  54. $.ajax({
  55. type:"POST",
  56. url:"/api2/app/myappadd?",
  57. data:{
  58. weixinid:weixinid,
  59. "myapp":objs
  60. },
  61. success:function(serverData){
  62. showBlackPage(serverData["提示信息"],serverData["提示信息"]);
  63. }
  64. });
  65. }else{
  66. alert("您还没有绑定微信公众账号");
  67. }
  68. }
  69. }else{
  70. alert("您上传的不是txt文件");
  71. }
  72. });

js读取本地磁盘文本文件并保存为JSON数据(有格式的文本)的更多相关文章

  1. 手工创建tomcat应用,以及实现js读取本地文件内容

    手工创建tomcat应用: 1.在webapps下面新建应用目录文件夹 2.在文件夹下创建或是从其他应用中复制:META-INF,WEB-INF这两个文件夹, 其中META-INF清空里面,WEB-I ...

  2. js读取本地图片并显示

    抄自 http://blog.csdn.net/qiulei_21/article/details/52785191 js读取本地图片并显示 第一种方法比较好 版权声明:本文为博主原创文章,未经博主允 ...

  3. Tomcat服务器如何读取本地磁盘数据?

    实际问题: 如何让用户下载本地磁盘的资源文件呢?  在server.xml文件中配置虚拟路径如下(以下代码放在Host标签之中即可): 例如: 具体含义: 把本地磁盘目录 "D:\uploa ...

  4. js读取本地json/txt/xml存在跨越问题,可以用jsonp 读取本地json文件

    想自己用 js写一个原生的ajax请求,访问本地文件,json/txt.但是demo,写了一个后,发现 原来是跨域了. js 写的原生ajax 请求代码如下 html代码 <div id=&qu ...

  5. json数据的格式,JavaScript、jQuery读取json数据

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON的特点: JSON 是纯文本 JSON 具有“自我描述性”(人类可读) JSON 具有层级 ...

  6. 使用JS读取本地文本文件(兼容各种浏览器)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. js 读取本地文件(必须通过input控件才能实现) 及 下载文件

    js 操作 文件的实现原理: 1.js是不能直接操作(读写)文件的,html的  input[type="file"] 控件是可以读取文件数据(获取文件数据流)的.js可以获取这个 ...

  8. JS读取本地文件及目录的方法

    Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级 的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等 ...

  9. js读取本地txt文件中的json数据

    list.txt内容 [ {"optionKey":"1", "optionValue":"Canon in D"}, ...

随机推荐

  1. PHP错误Warning: Cannot modify header information - headers already sent by解决方法

    这篇文章主要介绍了PHP错误Warning: Cannot modify header information - headers already sent by解决方法,需要的朋友可以参考下 今天在 ...

  2. BZOJ 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路

    Description 农夫约翰正驾驶一条小艇在牛勒比海上航行. 海上有N(1≤N≤100)个岛屿,用1到N编号.约翰从1号小岛出发,最后到达N号小岛.一 张藏宝图上说,如果他的路程上经过的小岛依次出 ...

  3. Python模块subprocess小记

    转自:http://www.oschina.net/question/234345_52660 熟悉了Qt的QProcess以后,再回头来看python的subprocess总算不觉得像以前那么恐怖了 ...

  4. 微信JSSDK录音的一些bug

    UPDATE: 这篇博文已经过期, 新的BUG总结请看微信JSSDK与录音相关的坑 微信JSSDK有不少坑, 最近做一个webapp, 用到了其中的录音功能, 发现不少问题, 总结一下: 当你调用st ...

  5. 【HDOJ】2732 Leapin' Lizards

    贪心+网络流.对于每个结点,构建入点和出点.对于每一个lizard>0,构建边s->in position of lizard, 容量为1.对于pillar>0, 构建边in pos ...

  6. Ehcache详细解读(转)

    Ehcache 是现在最流行的纯Java开源缓存框架,配置简单.结构清晰.功能强大,最初知道它,是从Hibernate的缓存开始的.网上中文的EhCache材料 以简单介绍和配置方法居多,如果你有这方 ...

  7. access 导数据到sql server 2008

    使用sp_configure启用'Ad Hoc Distributed Queries'解决 1.启用Ad Hoc Distributed Queries:exec sp_configure 'sho ...

  8. GridControl控件添加按钮列及在按钮Click事件中得到行数据 zt

    在GridControl中添加按钮列的步骤如下: 1. 把列的ColumnEdit属性设置为RepositoryItemButtonEdit 2. 把TextEditStyle属性设置为HideTex ...

  9. Count the string -- HDOJ 3336

    Count the string Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. Unity给力插件之ShaderForge(二)

    直接上实例: 一.自定义光照: 效果图(白色点光源照射时) 图片及参数 节点编辑 备注: 1.append为追加:两个一维数值合并为一个二维数值,一个二维数值与一个一维数值合并为一个三维数值,以此类推 ...