首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 获取文件大小

在JavaScript中获取文件大小通常是在处理文件上传或文件操作时遇到的需求。以下是几种常见的方法来获取文件大小:

1. 使用HTML5 File API

当用户通过<input type="file">选择文件时,可以通过File API获取文件的大小。

代码语言:txt
复制
<input type="file" id="fileInput">
代码语言:txt
复制
document.getElementById('fileInput').addEventListener('change', function(event) {
    const file = event.target.files[0]; // 获取第一个文件
    if (file) {
        console.log('文件大小:', file.size, '字节');
    }
});

2. 使用XMLHttpRequest或Fetch API获取远程文件大小

如果你想获取远程服务器上文件的大小,可以使用XMLHttpRequestFetch API

使用XMLHttpRequest

代码语言:txt
复制
const xhr = new XMLHttpRequest();
xhr.open('HEAD', 'path/to/your/file', true);
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            console.log('文件大小:', xhr.getResponseHeader('Content-Length'), '字节');
        } else {
            console.error('无法获取文件大小');
        }
    }
};
xhr.send();

使用Fetch API

代码语言:txt
复制
fetch('path/to/your/file', { method: 'HEAD' })
    .then(response => {
        if (response.ok) {
            console.log('文件大小:', response.headers.get('Content-Length'), '字节');
        } else {
            console.error('无法获取文件大小');
        }
    })
    .catch(error => console.error('Error:', error));

3. 使用Node.js的fs模块

如果你在服务器端使用Node.js,可以使用fs模块来获取文件大小。

代码语言:txt
复制
const fs = require('fs');

fs.stat('path/to/your/file', (err, stats) => {
    if (err) {
        console.error('无法获取文件大小:', err);
    } else {
        console.log('文件大小:', stats.size, '字节');
    }
});

注意事项

  • 浏览器兼容性:HTML5 File API在现代浏览器中广泛支持,但在非常旧的浏览器中可能不支持。
  • 远程文件大小:获取远程文件大小时,服务器必须支持HEAD请求并返回Content-Length头。
  • 错误处理:在实际应用中,应该添加更多的错误处理逻辑,以应对各种可能的异常情况。

通过以上方法,你可以根据具体的应用场景选择合适的方式来获取文件大小。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • PG获取文件大小的方式

    1、通过元命令获取表文件大小 通过\dt+可以得到该表大小。该元命令会转换成SQL语句去执行,实际上是通过pg_table_size函数进行获取。...通过这个方式计算表大小包括fsm、vm文件大小,如果有toast索引,还包括toast表大小。那么具体获取文件大小的方式是什么呢?...看calculate_relation_size函数:最终通过stat函数来获取,这个得到的是文件大小,而不是占用磁盘大小。同样,对于toast索引也是通过这种方式计算得到。...该函数对于序列、索引或者分区索引,直接通过smgrnblocks->mdnblocks获得,对于表、toast和物化视图,调用函数table_relation_size计算出文件大小然后除以一页大小得到多少页

    1.7K10
    领券