在jQuery中,我们无法直接获取文件的大小,这是因为浏览器的安全限制,不允许JavaScript访问本地文件系统,我们可以使用HTML5的File API来获取用户选择的文件大小,以下是一个简单的示例:

目前成都创新互联已为千余家的企业提供了网站建设、域名、雅安服务器托管、网站运营、企业网站设计、兴化网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、我们需要创建一个HTML文件输入元素,让用户可以选择一个文件:
2、我们需要编写一个JavaScript函数,用于处理文件选择事件,在这个函数中,我们将使用File API的size属性来获取文件的大小(以字节为单位):
function handleFileSelect(evt) {
var file = evt.target.files[0];
var size = file.size; // 文件大小,单位为字节
console.log('文件大小: ' + size + ' 字节');
}
3、我们需要将这个函数绑定到文件输入元素的change事件上:
$(document).ready(function() {
$('#fileInput').on('change', handleFileSelect);
});
现在,当用户选择一个文件时,handleFileSelect函数将被调用,并在控制台中显示文件的大小,请注意,这个示例需要在支持HTML5 File API的浏览器中运行。
除了使用File API之外,我们还可以使用XMLHttpRequest对象来获取文件的大小,以下是一个使用XMLHttpRequest的示例:
1、我们需要创建一个HTML文件输入元素,让用户可以选择一个文件:
2、我们需要编写一个JavaScript函数,用于处理文件选择事件,在这个函数中,我们将使用XMLHttpRequest来发送一个请求,获取文件的大小:
function handleFileSelect(evt) {
var file = evt.target.files[0];
var xhr = new XMLHttpRequest();
xhr.open('HEAD', URL.createObjectURL(file), true);
xhr.setRequestHeader('ContentType', 'application/octetstream');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
var size = xhr.getResponseHeader('ContentLength'); // 文件大小,单位为字节
console.log('文件大小: ' + size + ' 字节');
}
};
xhr.send(null);
}
3、我们需要将这个函数绑定到文件输入元素的change事件上:
$(document).ready(function() {
$('#fileInput').on('change', handleFileSelect);
});
现在,当用户选择一个文件时,handleFileSelect函数将被调用,并在控制台中显示文件的大小,请注意,这个示例需要在支持XMLHttpRequest的浏览器中运行,由于跨域限制,这种方法可能无法在所有网站上正常工作。