`
Josh_Persistence
  • 浏览: 1632770 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

JQuery实现本地文件的读取、文件内容的复制

阅读更多

1. 用Jquery实现读取文件的内容(2个Json类型的文件),并将文件内容复制到另一个文件中。(另一个Json文件中) (附近代码中的combine_files.html)

 

2. 检查生成的Json文件是否正确, 即是否所有的文件内容都被复制了(check_correct.html), 这个文件只是简单的检查一下你源文件的个数和生成新的文件中,数组里面元素的个数,如果元素相等,说明我们的做法是正确的。

 

3. combine_files.html因为用到了ActiveXObject对象,所以只能运行在IE中。直接用IE打开并解除阻止即可。

 

4. check_correct.html可以运行在任何浏览器中。

 

5. 具体可下载附近进行运行。

 

6. 但其实这种方法只是为了方便平时做一些操作时用的方法,因为直接用javascript或者Jquery等页面端的Script去直接操作操作系统上的文件本身就是不被允许的。

 

 

1. combine_files.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>

<script type="text/javascript">

$(function() {

var fileArray = new Array();

var fso = new ActiveXObject("Scripting.FileSystemObject");

 

var path = "C:\\DOC\\CMS_Related\\ESX_VCenter\\combine_files\\"

var filePath = path + "src"

 

var sourceFolder = fso.GetFolder(filePath);

 

// Get array of files in the sourceFolder 

var files = new Enumerator(sourceFolder.Files);

 

for (i=0; !files.atEnd(); files.moveNext()) {

   var name = files.item().name;

   fileArray.push(name);

}

 

var all = "[";    

for(var i=0; i < fileArray.length; i++){

if (i!=0) {

all = all +',';

$.ajax({

   type: "GET",

   url: "src/" + fileArray[i],

   dataType: "text",

   success: function(rs) {

       all = all + rs;

   },

   error: function() {

       alert("error");

   }

});

 

}

all = all + "]";

 

allFile = fso.CreateTextFile(path + "all.json", true);

 

allFile.Write(all);

allFile.Close();

    alert("All data in all.json!!!");

});

        

</script>

</head>

<body>

<div id="all"></div>

</body>

</html>

 

2. check_correct.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

<title>Insert title here</title>

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>

<script type="text/javascript">

$(function() {

$.ajax({

        type: "GET",

        url: "all.json",

        dataType: "json",

        success: function(rs) {

            alert(rs.length);

        },

        error: function() {

            alert("error");

        }

    });

});

</script>

</head>

<body>

 

</body>

</html>

 

2
3
分享到:
评论
2 楼 Josh_Persistence 2013-06-04  
你说的没错,JS的设计初衷本来就是这样的,不能让JS直接去操作操作系统级别的东西。这个地方的用意主要是因为在做的项目中需要将将几十个经常变动的JSON文件的所有内容复制到一个新的JSON文件中,并在这个文件中形成一个JSON数组,这个JSON数组是供项目开发用的。本来我是可以轻松用java搞定这个操作,但是你知道,java还需要装JDK,还需要去执行jar包中的main方法,多麻烦,用JS和html就相对简单多了。
谢谢楼上的评论。很不错。
1 楼 need_faith 2013-06-04  
用js来做复制文件,有什么引用场景么;
js当初设计来可是运行在沙盒中的,是为了增加安全性,如果要使用IE的activeX来实现复制文件,那安全性不就很低了么?
感觉没多大用处,楼主只是让大家知道IE中的这个“Scripting.FileSystemObject”activeX可以复制文件而已

相关推荐

    超实用的jQuery代码段

    《超实用的jQuery代码段》的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用jQuery的各项技术,实现令人激动的网页效果。   《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的...

    JAVA上百实例源码以及开源项目

    内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java...

    C#基类库(苏飞版)

    主要功能,把图片下载到本地 ImageUpload 图片上传并进行缩略图处理 24.网络 NetHelper 25.文件操作类 DirFileHelper FileOperateHelper INIFile 26.序列化 Serialize 序列化帮助类,还有例子 SerializeHelper ...

    JAVA上百实例源码以及开源项目源代码

    内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java...

    基于SpringBoot+Mybatis开发的主从架构的Steam商城,详情请看README+源代码+文档说明+数据库sql

    * 首页及其他页面因为读多写少,利用Mysql主从复制实现读写分离,写入在主Mysql下进行,读取在从Mysql进行 * 关于数据的不一致性,可以在写入的时候先写入缓存,读取的时候也先在缓存中读取,这样就可以避免数据的不...

    文章管理系统

    5.读取文件加入对0字节文件的错误判断处理 2013年01月11日 V2.7升级包 ★更新方式:admin文件夹改成你后台目录名,然后补丁包里的所有文件覆盖进去。 1.纠正后台AJAX函数的加载图路径错误BUG 2.宇初验证码换成...

    xheditor-1.1.14

    方法2:利用xhEditor提供的jQuery插件接口来实现对特定textarea的初始化和传递参数,例: $('#elm1').xheditor(); 或者 $('#elm1').xheditor({tools:'mini'}); 特别说明:两种初始化方法只能选择其中一种使用,如果...

    asoft签到管理系统tykq3.5_build20110125

    4、IE8下,未勾选“自定义级别安全设置”中-“将文件上载到服务器时包含本地目录路径”选项 5、遇到不明的500错误,你点浏览器 工具-&gt;internet选项-&gt;高级 ,找到“显示友好http错误信息” 去掉这个选项前面的勾...

Global site tag (gtag.js) - Google Analytics