[英]Is it possible to read file system from sd card in browser using javascript
[英]is it possible to read a file using javascript?
大家好我只想知道我们是否可以使用javascript
读取文件
我们所做的
fp=("r","path")
那是可能的吗?
不,这在浏览器中是不可能的。 Javascript在沙盒环境中运行,无法访问文件系统。 您可能需要在客户端浏览器上安装特殊插件才能访问其文件系统。
是的 ,即使在某些浏览器中也是如此。
如果浏览器支持新的File API ,您可以通过input[type=file]
元素读取用户授予您读取权限的任何文件。 规格 | StackOverflow上的示例
这可以在使用“ajax”的所有主要浏览器上完成,更具体地说是XMLHttpRequest
对象 。 它可以通过jQuery , Prototype , YUI , Closure或其他任何库来实现 。
您需要一个提供文件读取的环境,例如NodeJS 。
从客户端读取 : 如何使用Javascript读取文本文件
从服务器读取: jquery - 读取文本文件?
首先,我认为用JavaScript在本地读取文件并不是一个好主意。 我建议先将其上传到服务器然后执行读取。
说过这是可能的,但你受限于你能做什么。
我假设它在用户机器上有一个本地文件,否则AJAX会为服务器读取实现此目的。
有可能通过
Windows脚本宿主对象模型(WScript.Shell),当授予提示或启用ActiveX访问权限时,浏览器具有提升的权限(通过工具> Internet选项>安全性>自定义级别...>设置活动X设置进行提示)。 如果这仍然很困难,用户可以下载已安装的东西,然后通过Shell Scripting进行读取! 免责声明:注意我不推荐这种方法。 由于某种原因它不活跃,它如此肮脏(我觉得很脏)!
Cookie也可能值得考虑。 如果您可以将信息存储在cookie中,JavaScript将能够读取,写入和更新它。
从http://www.quirksmode.org/js/cookies.html找到此代码,向右滚动到示例的底部。
function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { createCookie(name,"",-1); }
使用现代浏览器中提供的新File API,可以在javascript中读取客户端文件。 查看此站点及其代码: http : //www.readfileonline.com/
你可以但是你必须使用AJAX,它是用于服务器端作业的Javascript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.