js dojo 读取txt

主要为js操作,因整体框架为dojo,顾少部分设计dojo关键字。需要HTML5支持。

需要一个隐藏的<input>标签

<input data-dojo-attach-point="fileSelectNode" type="file" accept=".txt" style="visibility: hidden"/>


js中控制,检查浏览器是否支持File Api,为创建的file input标签添加change事件监听

_openFile: function () {
    /// <summary>
    /// 打开txt文件
    /// </summary>
    //检查浏览器是否支持File Api提供的所有功能,如果你只需要部分功能,可以省略其它部分的检查.
    if (window.File && window.FileReader && window.FileList && window.Blob){
        //全部支持
    } else {
        alert('该浏览器不全部支持File APIs的功能');
        return;
    }
    dojo.byId(this.fileSelectNode).addEventListener("change",lang.hitch(this,this._onFileSelectChanged));
    dojo.byId(this.fileSelectNode).click();
}


监听函数

_onFileSelectChanged: function () {
    /// <summary>
    /// 当<input type="file">文件变化时事件
    /// </summary>
    if(dojo.byId(this.fileSelectNode).value == "")
    {
        return;
    }
    var reader = new FileReader();
    reader.onload = lang.hitch(this,function(e){
        var arr = e.target.result.split('\r\n');   //txt中的内容在e.target.result中
    });
    var temp = dojo.byId(this.fileSelectNode).files[0];
    reader.readAsText(temp);

    dojo.byId(this.fileSelectNode).value = "";
},

如上代码,在file input的标签中添加FileReader,创建FileReader.onload事件,事件中即可获得txt文件中内容。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值