实现HTML5网站中常见的拖拽上传文件( 二 )


AJAX 上传图片
既然已经获取到拖拽到web页面中的图片数据了 , 下一步就是将其发送到服务器端 。
总结

  1. 监听拖拽: 监听页面元素的拖拽事件 , 包括: dragenter、dragover、dragleave 和drop,一定要将dragover的默认事件取消掉 , 不然无法触发drop事件 。如需拖拽页面里面的元素 , 需要给其添加属性draggable="true"
  2. 获取拖拽文件: 在 drop 事件触发后通过e.dataTransfer.files获取拖拽文件列表 , 一定要将drop的默认事件取消掉 , 否则会默认打开文件length属性获取文件数量 , type属性获取文件类型
  3. 读取图片数据并添加预览图: 实例化FileReader对象 , 通过其readAsDataURL(file)方法获取文件二进制流 , 并监听其onload事件 , 将e.result赋值给img的src属性 , 最后将图片添加到DOM中
  4. 发送图片数据




推荐阅读