前端用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