html外部文件读取/写入

1.文件的读取

外部文件读取控件:

<input type="file" id="file_jquery" onchange="file_jquery(this.id)"/>

调用函数:

function file_jquery(id){
        var a = $("#"+id);
        var selectedFile = $("#"+id)[0].files[0];
        console.log(a);
        console.log(selectedFile);
    }

通过加载文件,console.log打印验证,发现:

console.log(selectedFile);  //打印如下

console.log(a);  //打印如下

 

 观察发现加载文件后,控件中FileList对象为加载文件信息。

 我们可以新建一个Filereader对象reader。

var reader = new FileReader()

然后调用FileReader的读取方法readAsText。

reader.readAsText(selectedFile);

对应的操作函数如下:

function file_jquery(id){
        var selectedFile = $("#"+id)[0].files[0];
        var reader = new FileReader();
        reader.readAsText(selectedFile);
        console.log(reader);
        reader.onload = function(){            
            console.log("success");
    }

加载文件后,网页执行情况如下:

reader.result为经过readAsText读取后的结果。

 

关于FileReader的其他资料如下,以供拓展:

FileReader共有4种读取方法:
1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。
2.readAsBinaryString(file):将文件读取为二进制字符串
3.readAsDataURL(file):将文件读取为Data URL
4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为'UTF-8'
此外,abort()方法可以停止读取文件。


FileReader对象在读取文件后,还需要进行处理。为了不阻塞当前线程,API采用了事件模型,可以注册这些事件:
1.onabort:中断时触发
2.onerror:出错时触发
3.onload:文件成功读取完毕时触发
4.onloadend:文件读取完毕时触发,无论是否失败
5.onloadstart:文件开始读取时触发
6.onprogress:当文件读取时,周期性地触发

备注:在reader的事件中,this.result 和 reader.result是等价的。

reader.οnlοad=function(f){  
            var result=document.getElementById("result");  
            //显示文件  
            result.innerHTML=this.result;  
        } 

 

2.外部文件的写入

参考方法:

http://www.china125.com/design/js/4085.htm

http://blog.csdn.net/ghlfllz/article/details/39346345

在URL中,结合encodeURIComponent 使用特殊字符,传递字符信息:

http://blog.sina.com.cn/s/blog_4586764e0100i4z3.html

 

转载于:https://www.cnblogs.com/liuyang92/p/6345132.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值