[JS] 聊一聊File对象

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

上一篇:?: 正则匹配


下一篇:根据指定条件对list中元素进行排序