File 是一个构造函数 是一种特殊的Blob
const fooFile = new File(['foo'], 'foo.txt', {type: ''text/plain}) // 得到一个内容是 foo 的 foo.txt文件
cosnt fooFIleUrl = URL.createObjectURL(fooFile) // 得到一个字符串 "blob:https://developer.mozilla.org/578d33f2-b22e-488b-b94c-f6e78ae953cc" 可以类似img.src那样使用该字符串
new File(bytes, fileName [,options]) // bytes可以是ArrayBuffer TypedArray 等二进制数据类型
File实例对象下有常用的属性
lastModifiedDate (返回当前 File
对象所引用文件最后修改时间的 Date
对象。)
name (返回当前 File
对象所引用文件的名字。)
size(返回文件的大小。)
webkitRelativePath (返回 File 相关的 path 或 URL。)
type(媒体类型)
延申 媒体类型(MIME)
用来表示文件 文档 字节流的性质和格式的一种标准
通用的结构为 type/subtype (类型一览表)
例子 "text/html"
方法(继承Blob的一些实用方法)
文件下载 \ 图片显示
URL.createObjectURL(blob)对File对象也是适用 赋予给a.download就可下载文件 赋予给img.src就可显示图片
资源分段上传
blob.slice\file.slice 分割二进制数据为Blob进行分段上传
const fooFile = new File(['fsdjklafhkasdh'], 'foo.txt', {type: 'text/plain'})
const part1 = fooFile.slice(0,5)
const part2 = fooFile.slice(5)
cosnt contactFile = new Blob([part1,part2])
URL.createObjectURL(contactFile) // 得到一个复原后的fileURL