ajax上传文件以及进度事件

在新版ajax中可以上传图片等二进制文件,并且能够监测上传进度。

1、FormData。通过FormData对象来构建提交的二进制数据。用法如下:

var oFormData = new FormData();    
oFormData.append('file', oMyFile.files[0]);
xhr.send(oFormData)

通过向FormData对象下的append方法来添加二进制文件,然后将FormData对象传递给后台。

2、upload对象,用于监测上传的进度

在XMLHttpRequest对象下有一个upload对象,var oUpload = xhr.upload;

监听该对象的onprogress事件,ev.total表示上传的总量,ev.loaded表示已上传的量,用法如下:

oUpload.onprogress  = function(ev) {
    var iScale = ev.loaded / ev.total;            
    oDiv2.style.width = 300 * iScale + 'px';

}
原文地址:https://www.cnblogs.com/toodeep/p/4770089.html