js获取上传文件大小示例代码

当用户需要在网站上上传文件时,我们可能需要进行文件大小的限制。JavaScript可以通过文件对象(File对象)来获取上传文件的大小。

具体步骤如下:

  1. 获取文件对象

首先,在HTML表单中添加一个文件输入框,使用JavaScript获取该输入框对应的文件对象。例如:

<input type="file" id="fileInput">
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
  1. 计算文件大小

获取文件对象后,可以通过其size属性获取文件大小,单位为字节。例如:

const fileSize = file.size;
  1. 格式化文件大小显示

获取的文件大小单位为字节,对于用户来说不太友好。我们可以使用JavaScript代码将其转化为更友好的单位,例如将其转化为MB或KB显示。示例代码如下:

function formatFileSize(fileSize){
    if (fileSize < 1024) {
        return fileSize + 'B';
    } else if (fileSize < (1024*1024)){
        let temp = fileSize / 1024;
        temp = temp.toFixed(2);
        return temp + 'KB';
    } else if (fileSize < (1024*1024*1024)) {
        let temp = fileSize / (1024*1024);
        temp = temp.toFixed(2);
        return temp + 'MB';
    } else {
        let temp = fileSize / (1024*1024*1024);
        temp = temp.toFixed(2);
        return temp + 'GB';
    }
}

const fileSize = file.size;
const formattedSize = formatFileSize(fileSize);
console.log(formattedSize);

上述代码中,formatFileSize函数接收一个文件大小,单位为字节,通过if-else语句不断转换最终输出格式化后的文件大小。函数内部涉及到了toFixed方法,用于将一个数字保留指定位数小数。

完整示例代码可以在下面查看:

<!DOCTYPE html>
<html>
<head>
    <title>获取文件大小示例代码</title>
    <meta charset="utf-8">
</head>
<body>
    <form>
        <input type="file" id="fileInput">
        <button type="button" onclick="getFileSize()">获取文件大小</button>
    </form>
    <p id="fileSize"></p>
    <script>
        // 获取文件大小,并显示在页面上
        function getFileSize() {
            const fileInput = document.getElementById('fileInput');
            const file = fileInput.files[0];
            const fileSize = file.size;
            const formattedSize = formatFileSize(fileSize);
            document.getElementById('fileSize').textContent = `文件大小为:${formattedSize}`;
        }

        // 格式化文件大小显示,将文件大小从bytes转化为KB/MB/GB
        function formatFileSize(fileSize){
            if (fileSize < 1024) {
                return fileSize + 'B';
            } else if (fileSize < (1024*1024)){
                let temp = fileSize / 1024;
                temp = temp.toFixed(2);
                return temp + 'KB';
            } else if (fileSize < (1024*1024*1024)) {
                let temp = fileSize / (1024*1024);
                temp = temp.toFixed(2);
                return temp + 'MB';
            } else {
                let temp = fileSize / (1024*1024*1024);
                temp = temp.toFixed(2);
                return temp + 'GB';
            }
        }
    </script>
</body>
</html>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js获取上传文件大小示例代码 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JSONP跨域请求实例详解

    JSONP跨域请求实例详解 什么是JSONP JSONP是JSON with Padding(填充式 JSON 或参数式 JSON)的缩写,是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。JSONP 的优势在于它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制,需服务器端改变响应头来实现跨域。 JSONP一…

    JavaScript 2023年5月27日
    00
  • Ajax实现简单下拉选项效果【推荐】

    下面就来讲解一下“Ajax实现简单下拉选项效果【推荐】”的实现过程。 标题 首先,我们需要确定这篇攻略的标题。可以考虑使用以下标题: Ajax实现简单下拉选项效果 确定需求 接下来,我们需要确定这篇攻略的具体需求。根据标题,我们需要实现一个下拉选项效果,包含以下需求: 网页打开时,异步请求获取下拉选项的内容并展示。 当用户选择某个选项时,通过Ajax异步请求…

    JavaScript 2023年6月11日
    00
  • JavaScript实现动态网页飘落的雪花

    一、前言 在网页设计中,为了增加节日气氛或者美化页面,经常会配上一些漂亮的特效。其中,飘雪效果是比较常见的一个效果。本篇文章主要介绍JavaScript实现动态网页飘落的雪花的详细攻略。 二、基本思路 主要思路是使用setInterval()函数对页面中的每一个雪花进行计算、控制其位置以及更新其状态,并使用CSS和HTML控制每个雪花的样式以及雪花的总数。 …

    JavaScript 2023年6月10日
    00
  • javascript 基础篇1 什么是js 建立第一个js程序

    我来分享一下 “JavaScript 基础篇1:什么是 JavaScript?建立第一个 JavaScript 程序” 的完整攻略。 什么是 JavaScript? JavaScript 是一种高级编程语言,用于创建交互式网页和网页应用程序。它是一种脚本语言,意味着你不需要为了编写代码而拥有庞大的开发环境。 JavaScript 非常流行,现在可以在几乎所有…

    JavaScript 2023年5月27日
    00
  • 详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑

    当使用Bootstrap表单验证和Bootstrap-select插件时,可能会发现在重置表单时,表单中的Bootstrap-select插件的验证提示并没有被清除,这是一个很常见的问题,本文将详细讲解如何解决这个问题。 前置知识 Bootstrap表单验证 Bootstrap表单验证是Bootstrap框架的一个组件,它可以帮助我们快速地验证表单中的数据是…

    JavaScript 2023年6月10日
    00
  • 基于vue 动态菜单 刷新空白问题的解决

    那么让我们来详细讲解一下“基于Vue动态菜单刷新空白问题的解决”的完整攻略。 首先,我们需要了解静态菜单和动态菜单的区别。静态菜单是指在网站中写死的菜单,如果需要更改菜单内容或数量,就需要修改网站代码,并重新发布。而动态菜单是指在后台通过接口获取数据来动态生成菜单的方式,可以根据数据的变化而实现菜单的更新。 在Vue中,我们可以通过组件来实现动态菜单。常见的…

    JavaScript 2023年6月11日
    00
  • javascript 正则替换 replace(regExp, function)用法

    当我们使用JavaScript时,我们经常会用到字符串操作,而正则表达式则是字符串操作中不可或缺的一部分。其中,replace()函数是JavaScript中操作字符串非常重要的函数,它可以完成字符串中的替换操作。replace()函数的第一个参数可以是一个正则表达式,也可是普通的字符串,第二个参数则可以是另一个字符串或函数。在本篇文章中,我们将重点讲解使用…

    JavaScript 2023年6月10日
    00
  • js防抖函数和节流函数使用场景和实现区别示例分析

    JS防抖函数和节流函数是前端开发中常用的函数优化方法,可以有效提升页面性能和用户体验。它们的使用场景和实现区别如下: 防抖函数 防抖函数的作用是在函数触发频繁的情况下,限制函数执行的次数,确保函数在触发后的一定时间内只执行一次。 使用场景 防抖函数通常用于以下场景: 搜索框输入联想:用户在输入框中快速输入字符时,会触发搜索请求,而防抖函数可以限制请求发送的次…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部