HTML5-简单文件操作

文件操作

简介

概念:可以通过file类型的input控件或者拖放的方式选择文件进行操作
语法格式:

<input type="file" multiple>

属性

  • multiple:表示是否选择多个文件

  • accept:用于设置文件的过滤类型(MIME类型)

    如果想要同时设置多个过滤类型,可以用英文逗号(,)隔开

    <input type="file" accept="image/jpeg,image/png" />
    

常见的acept属性取值/MIME类型

属性值说明
image/jepgJEPG图片
image/pngPNG图片
image/gifGIF图片
text/plainTXT文件
text/htmlHTML文件
text/cssCSS文件
text/JavaScriptJS文件
text/xmlXML文件
audio/mpegMP3文件
audio/mp4MP4文件
application/mswordWord文件
application/vnd.ms-powerpointPPT文件
application/vnd.ms-excelExcel文件
application/pdfPDF文件
image/*所有图片文件
audio/*所有声音文件
video/*所有视频文件

实例

<form action=""> 
<!-- 选择单个文件 -->
<input type="file"/><br/>
<!-- 选择多个文件 -->
<input type="file" multiple />
</form>

运行结果
在这里插入图片描述

注意:为元素添加multiple属性后,就可以选择多个文件了。当选择成功后,按钮右侧不再显示文件的名称,而是显示文件的总量。当鼠标指针移到上面时,就会显示全部上传文件的详细列表

File对象

概念:在文件上传元素中,将会产生一个FileList对象,这是一个类数组对象,表示所有文件的集合。

其中,每一个文件就是一个File对象

想要获取某一个File文件对象

  • 首先需要获取FileList对象

  • 然后通过数组下标形式来获取

File对象属性

属性说明
name文件名称
type文件类型
size文件大小(单位为B)
lastModifiedDate文件最后的修改时间

实例:File对象的属性

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>file对象的属性</title><script>window.onload=function(){//获取FileList对象var oFile=document.getElementById("file");oFile.onchange=function(){//获取第1个文件,即File对象var file=oFile.files[0];console.log("图片名称为:"+file.name);console.log("图片大小为:"+file.size+"B");console.log("图片类型为:"+file.type);console.log("修改时间为:"+file.lastModifiedDate);};}</script></head><body>		<input type="file" id="file" accept="image/*" multiple /></body>
</html>

运行结果
在这里插入图片描述

实例:转化单位

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>转化单位</title><script>window.onload=function(){var oFile=document.getElementById("file");oFile.onchange=function(){//获取第一个文件var file=oFile.files[0];//将单位"B"转化为"KB"var size=file.size/1024;var unitArr=["KB","MB","GB","TB"];//转化单位for(var i=0;size>1;i++){var fileSizeString=size.toFixed(2)+unitArr[i];size/=1024;}//输出结果console.log("图片大小为:"+fileSizeString);};}</script></head><body><input type="file" name="file" id="file" accept="image/*" /></body>
</html>

运行结果
在这里插入图片描述

FileReader对象

概念:FileReader对象作为文件API用于读取文件。

FileReader对象可以读取文件中的数据和包含读取结果的事件模型。

FileReader对象方法

方法说明
readAsText将文本读取为“文本”
readAsDataURL将文本读取为"DataURL"
readAsBinaryString()将文本读取为“二进制编码“
readAsArrayBuffer()将文本读取为一个”ArrayBuffer对象“
abort()中止读取操作

FileReader对象事件

事件说明
onabort中断时触发
onerror出错时触发
onload文件读取成功完成时触发
onloadend读取完成触发,无论成功或失败
onloadstart读取开始时触发
onprogress在读取数据过程中周期性调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ThreadLocal线程重用导致用户信息错乱的 Bug

在生产上遇到一个诡异的问题&#xff0c;有时获取到的用户信息是别人的。查看代码后&#xff0c;我发现他使用了 ThreadLocal 来缓存获取到的用户信息。 我们知道&#xff0c;ThreadLocal 适用于变量在线程间隔离&#xff0c;而在方法或类间共享的场景。如果用户信息的获取比较…

AI:106-基于卷积神经网络的遥感图像地物分类

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

Linux22.04系统安装显卡驱动,cuda,cudnn流程

1. 安装显卡驱动 ubuntu-drivers deices显示所有适配显卡的驱动型号&#xff0c;recommended为推荐安装 安装 sudo apt install nvidia-driver-440重启 sudo reboot验证 nvidia-smi2. 安装cuda 在 CUDA Toolkit 的下载页面选择系统版本和安装方式&#xff0c;下载并运行…

[Flutter]WindowsOS上运行遇到的问题总结

[Flutter]WindowsOS上运行遇到的问题总结 写在开头 Flutter项目已能在移动端完美使用后&#xff0c;想看看在桌面端等使用情况 基于Flutter3.0后已支持Windows/MacOS等桌面端&#xff0c;不过具体的系统&#xff0c;还需要看下官方文档解释。 这里抛出文档地址&#xff0c;可…

代码随想录刷题笔记(DAY 8)

今日总结&#xff1a;最后一道题解决的比较糟糕&#xff0c;后续会补上新解法&#xff0c;今天还是将中心放在了前端。 Day 8 01. 反转字符串&#xff08;No. 344&#xff09; 题目链接 代码随想录题解 1.1 题目 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。…

医院信息系统集成平台—Ensemble集成平台中间件

Ensemble HIE(健康信息交换)是InterSystems公司一个新的产品,它采用了一种全新的解决方案,是一个强大的应用软件整合平台,它包括了为医疗信息交换预先开发好的组件,使用Ensemble可以快速地整合和开发复合应用程序。Ensemble在增强现有软件功能、协调新的商业过程和集中企…

力扣hot100 二叉树的层序遍历 BFS 队列

&#x1f468;‍&#x1f3eb; 题目地址 时间复杂度&#xff1a; O ( n ) O(n) O(n)空间复杂度&#xff1a; O ( n ) O(n) O(n) &#x1f60b; 队列写法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode…

Java 第19章 IO流 课堂练习+本章作业

文章目录 Buffered流拷贝二进制文件创建文件写入文本读取文本文件存读Properties文件 Buffered流拷贝二进制文件 package com.hspedu.chapter19.outputStream;import java.io.*;public class BufferedCopy02 {public static void main(String[] args) {String srcFilePath &q…

【面试高频算法解析】算法练习2 回溯

目录 前言算法解析练习题组合总和全排列II单词搜索 前言 本篇章开放目的是按算法类型学习算法&#xff0c;学习对应算法理论&#xff0c;并通过练习一些经典算法题深入理解这类算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 算法解析 回溯&#xff…

Canal+RabbitMQ实现MySQL数据同步至ClickHouse

ClickHouse作为一个被广泛使用OLAP分析引擎&#xff0c;在执行分析查询时的速度优势很好的弥补了MySQL的不足&#xff0c;但是如何将MySQL数据同步到ClickHouse就成了用户面临的第一个问题。本文利用Canal来实现ClickHouse实时同步MySQL数据&#xff0c;使用RabbitMQ来做消息队…

FreeRTOS——计数型信号量知识总结及实战

1计数型信号量概念 1&#xff09;计数型信号量相当于队列长度大于1 的队列&#xff0c;因此计数型信号量能够容纳多个资源 2&#xff09;适用场景&#xff1a; 事件计数&#xff1a; 当每次事件发生后&#xff0c;在事件处理函数中释放计数型信号量&#xff08;计数值1&#x…

【C语言】汉诺塔问题/数据结构经典问题/详细总结讲解

1. 前言 汉诺塔问题是一个经典的递归问题&#xff0c;源于印度的一个古老传说。这个问题的特点是其独特的解决方式&#xff0c;需要将一堆盘子从一个柱子移动到另一个柱子&#xff0c;每次只能移动一个盘子&#xff0c;并且不能将一个较大的盘子放在较小的盘子上面。这个问题的…

在Docker中安装Tomact

目录 前言&#xff1a; 一.安装Tomact 查找指定的tomact版本 下载tomact9.0 查看该镜像是否安装成功 安装成功之后就开始运行镜像了 ps&#xff08;用于列出正在运行的Docker容器&#xff09; ​编辑 测试(虚拟机ip:8080) ​编辑 解决措施 ​编辑 完成以上步骤&…

如何将本文中的表情符号,使用正则表达式pattern,匹配并替换

如下面的文本: xxxxx \uD83E\uDD1F xxxxx 🤟 xxxxx \uD83E\uDD1Fxxxxx 🤟如何替换这些特殊的unicode呢? 我们先学习下常见的正则: 基本的 Unicode 属性分类 \p{L}|\p{Letter} 字母 \p{M}|\p{Mark

LabVIEW在高精度机器人视觉定位系统中的应用

在现代工业自动化中&#xff0c;精确的机器人视觉定位系统对于提高生产效率和产品质量至关重要。LabVIEW软件&#xff0c;以其卓越的图像处理和自动化控制功能&#xff0c;在这一领域发挥着重要作用。本案例将展示LabVIEW如何帮助开发和实现一个高精度的机器人视觉定位系统&…

有什么安全处理方案可以有效防护恶意爬虫

常见的爬虫 有百度爬虫、谷歌爬虫、必应爬虫等搜索引擎类爬虫&#xff0c;此类爬虫经常被企业用于提高站点在搜索引擎内的自然排名&#xff0c;使得站点在各大搜索引擎中的排名能够提高&#xff0c;进一步通过搜索引擎来进行引流为企业增加业务流量。 恶意爬虫与合法、合规的搜…

Web自动化测试框架总结

实施过了web系统的UI自动化&#xff0c;回顾梳理下&#xff0c;想到什么写什么&#xff0c;随时补充。 首先&#xff0c;自动化测试不是手动测试的替代品&#xff0c;是比较好的补充&#xff0c;而且不是占大比重的补充。 70%的测试工作集中在底层接口测试和单元测试&#xff0…

多元统计分析(4):判别分析

4.1 判别分析的目标 主要目的&#xff1a;判别一个个体所属类别 4.2 距离判别 都选用用马氏距离 4.2.1 判别准则 化简的证明&#xff1a; 称为判别函数&#xff0c;为判别系数。 4.2.2 误判概率 【1】当两个正态总体的协方差相同 证明&#xff1a; 当两个正态总体重合的时…

uniapp中组件库丰富的Switch 开关选择器使用方法

目录 #平台差异说明 #基础使用 #加载中 #禁用switch #自定义尺寸 #自定义颜色 #自定义样式 #异步控制 API #Switch Props #Switch Event 选择开关用于在打开和关闭状态之间进行切换。 #平台差异说明 App&#xff08;vue&#xff09;App&#xff08;nvue&#xff0…

学生公寓安全用电管理系统应用案例

摘要&#xff1a;安全用电是学校公寓用电管理的首要任务&#xff0c;这就需要对一些恶性负载进行识别和控制&#xff0c;同时为了减少电工和后期管理人员的成本&#xff0c;引进了安全用电管理系统。本文在在描述了安全用电管理系统的工作原理和利用智能电表可实现的功能后,阐明…