[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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值