JS获取本地文件的内容

前端用JS获取本地文件的内容

第一种方法:直接选中本地目录下的某个文件,然后alert 弹出文件内容;

效果图如下:

 

这里要写成input的形式 调用upload函数  传递的参数就表示所选的文件
<input type="file" onchange="upload(this)" /> 
//前端读取本地文件的内容   下面代码中的this.result即为获取到的内容
function upload(input) {  //支持chrome IE10  
    if (window.FileReader) {  
        var file = input.files[0];  
        filename = file.name.split(".")[0];  
        var reader = new FileReader();  
        reader.onload = function() {  
            console.log(this.result)  
            alert(this.result);  
        }  
        reader.readAsText(file);  
    }   
    //支持IE 7 8 9 10  
    else if (typeof window.ActiveXObject != 'undefined'){  
        var xmlDoc;   
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");   
        xmlDoc.async = false;   
        xmlDoc.load(input.value);   
        alert(xmlDoc.xml);   
    }   
    //支持FF  
    else if (document.implementation && document.implementation.createDocument) {   
        var xmlDoc;   
        xmlDoc = document.implementation.createDocument("", "", null);   
        xmlDoc.async = false;   
        xmlDoc.load(input.value);   
        alert(xmlDoc.xml);  
    } else {   
        alert('error');   
    }   
}  

第二种方法: 通过页面加载时 调用方法,方法里面写死了具体的文件路径,人后会自动弹出alert,显示文件内容;

效果图如下:

<input type="button" value="读取" onClick="getPath()" />

function getPath() {

    //document.getElementById("tt").value = "";

    var ForReading = 1;

    var filePath =  "D://1//1.txt"

    if(filePath == "") return false;

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

    var textFile = fso.GetFile(filePath);

    var ts = fso.OpenTextFile(filePath, ForReading);

    var result = ts.ReadAll();

   alert(result)

}

但是有一个bug,new ActiveXObject在IE浏览器才能使,其他的浏览器会报错,ActiveXObject 未定义。

最后为了方便大家的沟通与交流请加QQ群: 625787746

请进QQ群交流:【IT博客技术分享群①】:https://jq.qq.com/?_wv=1027&k=DceI0140

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT博客技术分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值