FileAPI

介绍

HTML5 为我们提供了 File API 相关规范。主要涉及 File 接口 和 FileReader 对象 。

本文整理了兼容性检测、文件选择、属性读取、文件读取、进度监控、大文件分片上传以及拖拽上传等开发中常见的前端文件操作。

准备工作

首先,我们的 File 来自于 标签中选中的文件列表。所以,准备如下的 HTML 代码:

检测兼容性

File 对象是特殊类型的 Blob。在 script 入口处,应该检测当前浏览器是否支持 File API

if (!(window.File && window.FileReader && window.FileList && window.Blob)) { throw new Error("当前浏览器对FileAPI的支持不完善");}

监听文件选择

对于 typefile 类型的 标签,在选择文件的时候,会触发 change 事件。用户选中的文件信息也会传入回调函数的第一个参数中。

function handleFileSelect(event) { const { files } = event.target; if (!files.length) { console.log("没有选择文件"); return; } console.log("选中的文件信息是:

file 选择的文件胖多有多大_「HTML5 进阶」FileAPI 文件操作实战,内附详细案例,建议收藏...相关推荐

  1. file 选择的文件胖多有多大_如何删除 macOS 压缩包中的隐藏文件?

    如何删除 macOS 压缩包中的隐藏文件?在工作中,压缩打包文件是不可缺少的一项工作.为了避免文件的损坏和缺失,我们通常在macOS系统中,把多个文件或文件夹压缩后进行传输,我们一般使用访达(Find ...

  2. Github 之 本地上传代码到 Github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤)

    Github 之 本地上传代码到 github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤) 目录 Github 之 本地上传代码到 github ,并且添加 .gitig ...

  3. 兼容input 文件选择_「HTML5」FileAPI 文件操作实战

    本文来自<FileAPI 文件操作实战> 其他系列放在了Github,欢迎交流和Star 介绍 HTML5 为我们提供了 File API 相关规范.主要涉及 File 接口 和 File ...

  4. vue:无法将“vue”识别为脚本_「前端架构」React和Vue -CTO的选择正确框架的指南...

    快速总结:为项目选择正确的javascript框架或库是CTO和项目经理的基本任务.然而,选择的范围很大程度上取决于几个因素,如项目时间.学习曲线.框架性能和团队规模.这篇文章旨在指导他们选择正确的j ...

  5. TF卡里删掉文件后内存没变大_不用第三方,手机自带软件也能清扫内存!教你4个清理技巧...

    手机使用一两年后,难免会堆积了很多文件占用手机内存,今天花部长就来给大家发干货,教你如何正确地清理内存和缓存,让手机运行恢复流畅. 1.手机管家,一键清理 大家应该都知道,清理内存最直接的方法就是打开 ...

  6. TF卡里删掉文件后内存没变大_不用第三方,手机自带软件也能清扫内存!教你4个正确清理技巧...

    手机使用一两年后,难免会堆积了很多文件占用手机内存,今天花部长就来给大家发干货,教你如何正确地清理内存和缓存,让手机运行恢复流畅. 1.手机管家,一键清理 大家应该都知道,清理内存最直接的方法就是打开 ...

  7. 「造轮子」一个文件上传靶场知识总结记录

    https://www.sqlsec.com/2020/10/upload.html#toc-heading-1 或者 https://xz.aliyun.com/t/8435 直接使用别人的靶场总感 ...

  8. 文件标识符无效。使用 fopen 生成有效的文件标识符。_「存储架构」块存储、文件存储和对象存储(第1节)...

    全球传输和生成的数据比以往任何时候都多.国际数据公司(IDC)的分析师预计,到2025年,全球数据层将增至163zb.这比2016年16.1 ZB的数据增长了1000%以上.数据大量增加的原因是多方面 ...

  9. python中文件打开的合法模式组合_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

最新文章

  1. linux搭建directx环境,微軟開始在WSL 2環境中的Linux支援DirectX
  2. 学习笔记 Keras:常见问题
  3. Serializable的作用
  4. xenserver 虚拟机扩容lvm磁盘分区的方法_Linux磁盘扩容
  5. 网管实战之使用RSA实现企业安全访问
  6. spring MVC中获取request和response
  7. 异常:Invalid or unexpected token
  8. 鸿蒙比苹果流畅,华为鸿蒙应用恢复率优于苹果iOS,无惧老化36个月持续流畅
  9. 情人节程序员用HTML网页表白【时光不老,我们不散love520】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  10. 数据包络分析(DEA)详解(以第八届宁夏省赛为例)
  11. android短消息中心号码,短信服务中心号码(SMSC)的设置方法
  12. Word2016“此功能看似已中断 并需要修复”问题解决办法
  13. 【哈工大SCIR笔记】机器阅读理解简述
  14. 计算机网络组成复习笔记
  15. 映射表类(CMap)
  16. note edge android 6.0 root,三星Note Edge 6.0 root N9150ZCU1CQH5 root 高级设置
  17. 人脸识别+深度学习,水平远超人类大脑!
  18. 【C】编一程序,将两个字符串连接起来,不要用strcat函数
  19. 什么软件可以测试iphone6s芯片,苹果是对的:测试显示iPhone 6s两款芯片续航差距微小...
  20. 逆战无法修复服务器,逆战登录时的各种问题 这些问题该如何解决?

热门文章

  1. 6.8 程序示例--二分 K-Means-机器学习笔记-斯坦福吴恩达教授
  2. STM32 基础系列教程 33 - Lwip_tcp_client
  3. LTE 轻松进阶总结01
  4. 【笔记】微软onedirve云存储使用小结
  5. Linux数据报文接收发送总结4
  6. 复数混频发射机原理与仿真
  7. 基于linux的ARM设备升级,烧写Nand flash总结
  8. linux i2c 设备节点读写
  9. Python3中的内置函数
  10. Logical Volume Manager(逻辑卷管理)