在新版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'; }