前端用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博客技术分享群①】:/?_wv=1027&k=DceI0140