前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器 二

前台js读取本地文件内容方法:

1、IE用new ActiveXObject("Scripting.FileSystemObject")

2、其他用FileReader对象 html5的方法

说法不严谨,具体自己测试,复制以下代码保存为html直接可以运行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script>
//IE 10 以下中问可能会乱码 不能读utf-8格式的文本
function upload(input) {
	if (typeof window.ActiveXObject != 'undefined') {
		var file = input.value;
		var content = "";
		try {
			var fso = new ActiveXObject("Scripting.FileSystemObject");
			var reader = fso.openTextFile(file, 1);
			/*while (!reader.AtEndofStream) {
				content += reader.readline();
				content += "\n";
			}*/
			content = reader.readAll();
			reader.close();
		} catch (e) {
			alert("Internet Explore read local file error: \n" + e);
		}
		
		console.log(content);
		alert(content);
	} else {
		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);
	}
}
</script>
<title>file upload</title>
</head>
<body>
	<input type="file" onchange="upload(this)" />
</body>
</html>

希望对你有用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。