Javascript 在web应用程序中访问文件内容而不上载

Javascript 在web应用程序中访问文件内容而不上载,javascript,web-applications,file-upload,html,Javascript,Web Applications,File Upload,Html,据我所知,除非使用某种插件,否则不先上传到服务器,然后再重新下载给用户,就不可能在web应用程序中访问用户计算机上的文件内容。(Flash等)理想情况下,用户将直接将文件上载到localstorage,然后脚本将有机会处理/显示/验证/筛选,而无需用户等待上载 在即将推出的网络标准(如html5)中,是否有允许这一点的功能?如果没有,为什么没有努力做到这一点,我如何在不被插件卡住的情况下解决它 编辑:不要假设我想让JavaScript在没有任何用户干预的情况下访问硬盘上的任意文件。我们已经能够提

据我所知,除非使用某种插件,否则不先上传到服务器,然后再重新下载给用户,就不可能在web应用程序中访问用户计算机上的文件内容。(Flash等)理想情况下,用户将直接将文件上载到localstorage,然后脚本将有机会处理/显示/验证/筛选,而无需用户等待上载

在即将推出的网络标准(如html5)中,是否有允许这一点的功能?如果没有,为什么没有努力做到这一点,我如何在不被插件卡住的情况下解决它

编辑:不要假设我想让JavaScript在没有任何用户干预的情况下访问硬盘上的任意文件。我们已经能够提示用户输入文件并上传,我只希望能够提示用户将文件加载到浏览器内存中。我只希望HTML5能够支持Flash和Java小程序的功能。

在HTML5(或6、7等)中可以做什么取决于具有竞争议程的不同供应商认为新的HTML版本应该做什么或不应该做什么。。。是的

授予您创建的网页访问计算机上资源(例如文件)的权限会造成很大的安全漏洞(您希望我的网页读取您的电子邮件和家庭银行文件吗?)

考虑到只有一个设备/平台上的一个浏览器不需要很好地实现该标准,才能向黑客开放,因此委员会不太可能同意对造成安全风险的功能进行标准化


单个供应商(制作插件的人)不必让其他公司同意某个功能。他们只是实现它,用户可以决定他们是否足够信任它来安装它。微软在这方面的第一次尝试是。

就像劳尔和埃里克指出的那样,这涉及到一个重大的信任问题,要求人们提供他们不知道的代码来访问他们的硬盘驱动器不会使你的网站受欢迎

很长一段时间以来,您可能一直无法在插件或特定于浏览器的功能/插件之间进行选择

也就是说,你可以通过充分利用这种情况来做一些很酷的事情。我曾多次使用的一种方法是在网页上显示一个不可见的插件(在我的例子中是Applet),但完全通过JavaScript控制它,给web应用一个非常“自然”的外观和感觉

另一种方法是某种形式的渐进式增强——为安装了所需插件并选择使用它的用户提供增强的体验。我在一些网站上做过这样的实验,比如-没有安装Java插件的用户可以通过将PDF文件上传到服务器并下载合并的文件来合并PDF文件,而使用Java插件的用户可以选择在本地使用小程序来完成这一切。

文件API()不是这样做的吗

它是在Firefox 3.6中实现的(请参阅和)


据了解,它在chrome中得到了支持。

请参阅Raymond Chen多年来对此的支持发生了变化。文件阅读器可以完成大多数人获取文件内容所需的更多工作。