我正在ASP.NET中的一个项目,我想在其中使用JavaScript获取文件大小.实际上,我得到了解决方案,就像下面这样
除非在Internet Explorer属性中进行一些设置,否则它的工作正常.
在Internet属性 - >选择安全选项卡 - >本地Internet - >单击自定义级别按钮 - >初始化和脚本未标记为可安全执行脚本的ActiveX控件 - >启用它
保存设置并执行程序.
这是有效的,但我想在不使用的情况下获取文件大小 var Fo =new ActiveXObject("Scripting.FileSystemObject");
网页上的JavaScript不应该访问本地文件系统.允许访问将是一个巨大的安全漏洞.而且您不能指望您的用户像这样打开他们的系统.
作为一种繁琐的解决方法,使用文件控件("")创建一个表单,让用户选择文件,将其上传到服务器,让服务器返回文件大小.
在HTML5中,您将能够访问在文件控件中选择的文件.仍然没有任意文件系统访问权限,但至少你可以使用用户为你选择的文件.
编辑:为了避免网络往返,您可以发送一个Java小程序(不是JavaScript!)实现简单的HTTP服务器,仅用于文件大小计算,然后将文件发布到localhost和applet的服务器侦听的任意端口上.然而,另外一堆蠕虫会打开 - Java VM,"你信任这个小程序吗?" Windows,阻止侦听端口的安全软件等