前端最基础的就是 HTML+CSS+Javascript
。掌握了这三门技术就算入门,但也仅仅是入门,如今前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS
),本着提高技术水平,打牢基础知识的中心思想,咱们开课啦(每周四)。html
最多见的效果有 图片上传预览、类型检查、文件大小检查。前端
File
继承了 Blob
,能够用于任意须要 Blob
类型的方法中,好比FileReader()
、URL.createObjectURL()
、XMLHttpRequest.send()
这些方法。浏览器
lastModified
返回当前 File 对象所引用文件最后修改时间,自 UNIX 时间起始值(1970年1月1日 00:00:00 UTC)以来的毫秒数。name
返回当前 File 对象所引用文件的名字。size
返回文件的大小(单位为字节)。size/1024
为KB
,size/1024/1024
为MB
。type
返回文件类型如 "image/png"
file = new File(bits, name[, options]);
微信
ArrayBuffer
,ArrayBufferView
,Blob
,Array
。是 UTF-8 编码的文件内容。Blob
类型的数据,只能够经过FileReader
来读取。
读取内容的方法都是异步,若是成功结果会放入result
属性中。app
readAsArrayBuffer()
以 ArrayBuffer 表示所读取的文件内容readAsBinaryString()
以 原始二进制 表示所读取的文件内容readAsDataURL()
以 data: URL格式的 Base64 字符串 表示所读取文件的内容readAsText()
以 字符串 表示所读取的文件内容。onabort
读取操做被中断时触发(FileReader.abort()
)onerror
读取操做发生错误时触发onload
读取操做完成时触发filesReader.result
中就有值了onloadstart
读取操做开始时触发onloadend
读取操做结束时(要么成功,要么失败)触发onprogress
进度Blob 对象表示一个不可变、原始数据的类文件对象。
Blob 表示的不必定是JavaScript原生格式的数据。
File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。异步
效果传送门
常常用在上传文件中,咱们监听input
的change
事件。
经过files
属性来获取(由于input
能够经过multiple
来选择多个文件)函数
粘贴须要监听 paste
事件,经过获取事件的Event
对象e.clipboardData.files
来获取全部的文件对象编码
拖拽须要监听drop
事件,并阻止默认事件(不阻止会使用浏览器打开),经过获取事件的Event
对象e.dataTransfer.files
来获取全部的文件对象加密
input
使用 e.target.files
来获取e.clipboardData.files
来获取e.dataTransfer.files
来获取FileReader
获取内容是异步的,须要监听onload
以后拿result