html5写入文件,HTML5中的文件读取---File API

本文详细介绍了HTML5的File API,包括FileList对象、File对象、Blob对象、FileReader对象的使用,以及如何利用createObjectURL生成文件链接。此外,还讲解了如何通过onprogress事件监听文件上传进度,实现上传进度条的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.简介

在Html5中提供了一种通过File API规范与本地文件进行交互的标准方法。在使用 File API 在向服务器发送图片的过程中可以创建图片的缩略图预览,也可以允许应用程序在用户离线时保存文件引用。另外,您可以使用客户端逻辑来验证上传内容的 type 与其文件扩展名是否匹配,或者限制上传内容的大小。

该规范通过“本地”文件系统提供了多种文件访问接口:

1.1 FileList 对象

filelist对象是针对表单的file控件,当用户利用file控件选取文件以后,这个控件的files属性就是filelist对象。

//使用多选控件

document.getElementById('file-test').onchange = function() {

console.log(this.files);

};

418ff92a8a2c

image.png

注:除了file控件以外,采用拖放的方式,也可以得到filelist对象。一般情况下,filelist对象只能被动的读取,不可以手动构造,只有在user主动触发(选取或拖拽)了文件读取的行为,javascript才会访问到filelist。

1.2 File对象

在filelist对象中就包括了file对象,file对象含有以下的属性:

name: 文件名,只读属性;

size: 文件大小,单位为字节,只读属性;

type: 文件的MIME类型,若是分辨不出类型,则为空字符串,只读属性;

lastModified:文件的上次修改时间,格式为时间戳;

lastModifiedDate:文件上次修改时间,格式为Date对象实例。

如下图所示:

418ff92a8a2c

image.png

1.3 Blob对象

Blob(Binary Large Object)对象代表了一段二进制数据,提供了一系列操作接口,其他二进制数据的API(比如File对象),都是建立在Blob对象基础上的,继承了它的属性和方法。

生成Blob对象有两种方法:一种是使用Blob构造函数,另一中是对现有的Blob对象使用slice方法切出一部分。

1.4 FileReader

FileReader对象用于读取文件,他的参数是file对象或blob对象。对于不同类型的文件,FileReader提供了不同的读取方法:

readerAsText(blob|File,opt_encoding) :

返回文本字符串,默认情况下,文本编码格式是UTF-8,可以通过可选参数指定其他编码格式的文本。

readerAsDataURL(Blob|File) :

返回一个基于Base64编码的data-uri对象(可用于标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值