上传文件时获取音视频文件时长和文本文件字数

ops/2024/12/15 13:43:44/

获取音视频文件时长和文本文件字数

  • 一、获取音视频文件时长
  • 二、计算文本文件字数

最近有个需求,要求上传文件时获取音视频文件时长和文本文件字数🐶。

发现这样的冷门资料不多,特做个记录。本文忽略文件上传功能,只封装核心的工具函数,拿走即用

先看结果,很快获取到视频时长,其他的测试正常,放心食用😄
在这里插入图片描述

一、获取音视频文件时长

// 计算音频视频时长
export function getFileDuration(file: any) {return new Promise((resolve: any) => {let duration: number | string = 0;const url = URL.createObjectURL(file);const element = document.createElement(file.type.startsWith('video/') ? 'video' : 'audio');element.onloadedmetadata = () => {duration = element.duration;resolve(duration ? Math.ceil(duration) : 0);URL.revokeObjectURL(url); // 释放内存};element.onerror = (error) => {console.error('获取时长失败:', error);duration = 0;resolve(duration);};element.src = url;});
}

二、计算文本文件字数

// 计算文本文件字数
export function getTxtWords(file: any) {return new Promise((resolve: any) => {const reader = new FileReader();reader.onload = (event: any) => {const fileContent = event.target.result;const words = fileContent.trim(); // 去空格resolve(words.length);};reader.onerror = (error) => {console.error('Error reading file:', error);resolve(0);};reader.readAsText(file);});
}

在这里插入图片描述


http://www.ppmy.cn/ops/142118.html

相关文章

3D 生成重建036-HyperDiffusion直接生成nerf几何

3D 生成重建036-HyperDiffusion直接生成nerf几何 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 作者提出了一种名为HyperDiffusion的新型方法,用于直接生成隐式神经辐射场,方法是预测其权重空间中的参数。与以往需要对神经网络的单个实例进行优…

用人话讲计算机:Python篇!(十二)正则运算+re模块

目录 一、正则表达式 (1)什么是正则表达式 (2)它的结构及使用 示例: 1.字符 . (←这里有个小点哦) 2.字符 | 3.字符 [ ] 4.字符^ 5.字符\d (3)补充&#xff…

AJAX家政系统自营+多商家家政系统服务小程序PHP+Uniapp

一款同城预约、上门服务、到店核销家政系统,用户端、服务端、门店端各端相互依赖又相互独立,支持选择项目、选择服务人员、选择门店多种下单方式,支持上门服务和到店核销两种服务方式,支持自营和多商家联营两种运营模式&#xff0…

BUUCTF之web篇

第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破(bu’r’psuite) 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码a’or true # 在这里单引号的作用是结束用户名或…

校园一卡通密钥管理系统的 SSM 功能模块设计与业务流程优化

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装校园一卡通密钥管理系统软件来发挥其高效地信息处理的作用&a…

基于python+django+vue的高校成绩管理系统

系统展示 管理员后台界面 教师界面 学生界面 系统背景 随着教育信息化的不断推进,传统的手工成绩管理方式已经无法满足现代教育管理的需求。传统管理方式不仅效率低下,还容易出错,且难以实现数据的集中化管理和安全访问控制。因此&#xff0c…

大模型系列7-从零实现GPT(WIP)

大模型系列7-从零实现GPT 背景代码和图示Python基础 背景 代码和图示 Python基础 dataclass

深入解析 Pytest 中的 conftest.py:测试配置与复用的利器

在 Pytest 测试框架中,conftest.py 是一个特殊的文件,用于定义测试会话的共享配置和通用功能。它是 Pytest 的核心功能之一,可以用于以下目的: 【主要功能】 1、定义共享的 Fixture (1)conftest.py 文件可…