1. 程式人生 > >前臺JS(type=‘file’)讀取本地檔案的內容,相容各種瀏覽器 二

前臺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>

希望對你有用。