Javascript 在没有activexobject的情况下获取上载文件大小?

Javascript 在没有activexobject的情况下获取上载文件大小?,javascript,html,file-upload,filesize,Javascript,Html,File Upload,Filesize,是否可以使用java脚本或不使用activex对象获取上载文件的文件大小? 它应该与所有浏览器兼容。与所有浏览器兼容?-无解 与firefox、chrome、safari、opera兼容?-以下脚本 document.getElementById("file_elem_id").files[0].size 不适用于IE8(尚未在IE9上测试)让您知道IE-9或更低版本不支持jQuery文件API。在这些情况下,我们必须通过创建ActiveXObject来检查文件大小,因为这是在上传之前处理系统

是否可以使用java脚本或不使用activex对象获取上载文件的文件大小?
它应该与所有浏览器兼容。

与所有浏览器兼容?-无解

与firefox、chrome、safari、opera兼容?-以下脚本

document.getElementById("file_elem_id").files[0].size

不适用于IE8(尚未在IE9上测试)

让您知道IE-9或更低版本不支持jQuery文件API。在这些情况下,我们必须通过创建ActiveXObject来检查文件大小,因为这是在上传之前处理系统文件以获得文件大小的唯一方法

但这里还有另一个问题,比如ActiveX需要在客户端计算机的浏览器上正确安装/启用/配置,否则将无法识别。因此,我有三种方法来获取文件大小:- 1) 通过将整个文件传输到服务器来获取文件大小,并从服务器返回文件大小。 2) 在客户端使用Silverlight、Flash或类似的东西很容易找到它。 3) 当文件超过文件大小限制时,将文件分块上载到服务器,然后向用户返回一条消息

在jQuery中获取文件大小(IE 10、FF、Chrome浏览器支持)

使用ajax获取文件大小,仅发出HEAD请求:

var response = $.ajax({
type: "HEAD",
url: fileurl,// file url on server
success: function () {
    alert("Size of file is " + request.getResponseHeader("Content-Length"));
  }
});
希望这会有帮助

参考资料:-

我正在使用firefox 7,它对我很有用。检查我之前评论中的链接获取ff 7.0.1中未定义的错误消息。document.getElementById(“file_elem_id”).files[0]。大小这在Chrome和FF中都适用
var response = $.ajax({
type: "HEAD",
url: fileurl,// file url on server
success: function () {
    alert("Size of file is " + request.getResponseHeader("Content-Length"));
  }
});