php中file对象实例,File, FileReader 和 Ajax 文件上传实例分析(php)

本文介绍了如何利用FileReader API读取文件的Base64编码,并结合Ajax实现PHP的异步文件上传。通过拖拽事件获取File对象,使用FileReader的readAsDataURL方法读取文件,然后在onloadend回调中发送HTTP请求。
摘要由CSDN通过智能技术生成

File FileReader 可以干什么?Ajax文件上传例子

FileReader 对象可以读取文件的 Base64编码数据(readAsDataURL),2进制字符串(readAsBinaryString),文本(readAsText)并且都是异步的。

对了,Email拖拽附件上传就可以利用 FileReader 配合 Ajax 完成。

File 对象File对象可以从 input[type=file].files 数组,和拖拽事件 event.dataTransfer.files 中获取到。

第一张图是 Chrome 下的 File 对象,第2个图是Firefox下的File对象。Firefox下会多几个方法,注意这里的读取数据方法是同步的。

20110427224918978.jpg

20110427224918703.jpg

FileReader 对象这是用来读取文件数据的(并且是异步的)。下面是一个简单的代码(file对象用上面的方法取得)

var fileReader = new FileReader();

fileReader.onloadend = function(){

console.log(this.readyState); // 这个时候 应该是 2

console.log(this.result); 读取完成回调函数,数据保存在result中

}

fileReader.readAsBinaryString(file);// 开始读取2进制数据 异步 参数为file 对象

//fileReader.readAsDataURL(file); // 读取Base64

//fileReader.readAsText(file);//读取文本信息

可以运行下面简单的例子(chrome 和 firefox 有效)

html5 File and FileReader

.box{background:#f8f8f8;border:1px solid #CCC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值