首页 > 代码库 > 前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器

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

【自己测了下,能兼容各种浏览器,但是读取中文会出现乱码。自己的解决方法是用notepad++把txt文件编码改为utf-8(应该是和浏览器编码保持一致吧?。。)】

原文  http://blog.csdn.net/xwq1012/article/details/41941895

参考如下:

http://blog.csdn.net/lejuo/article/details/11528243 

前台JS读取本地文件内容,兼容IE7、8、9、10 FF Chrome等各种版本,纠结了好长时间,终于找到方法,希望能帮到你,代码如下。直接复制保存为html运行看效果。

<!DOCTYPE html><html><head><meta charset="UTF-8" /><script>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‘); 	} }</script><title>file upload</title></head><body>	<input type="file" onchange="upload(this)" /></body></html>

 

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