zoukankan      html  css  js  c++  java
  • 文件异步上传

    文件异步上传实际是用form提交和iframe接收制造假异步效果

    步骤:

    触发提交按钮时,

    1.

    创建隐藏表单

    表单中植入上传的文件域

    为表单设置绝对定位到页面看不到的地方

    在文档中插入表单

    2.

    创建隐藏iframe

    为iframe设置绝对定位到页面看不到的地方

    在文档中插入iframe

    为表单设置action,method,target,enctype等属性

    3.

    表单提交

    再iframe加载完成后,回调操作函数,并延迟一会在DOM树种移除创建的表单和iframe。

    注意事项:

    1.创建表单后插入文件域的时候,如果讲选择文件后的input[type=file]克隆,把克隆体插入到表单,这个克隆的input[type=file]value会为空(在一些版本不一样的浏览器里),导致上传时不能获取到文件,所以要把也面上的input[type=file]直接插入到创建的表单中,再把克隆的文件域放到页面原先的位置,这样就不会出现兼容问题。

    2.创建的表单的enctype属性,IE678存在兼容问题,需要由encoding属性来代替

    3.调用iframe的内容

    IE:      document.getElementById(iframeId).contentDocument.document.body.innerHTML

    other: document.getElementById(iframeId).contentWindow.document.body.innerHTML

  • 相关阅读:
    避免PHP分页中的分页出现非整数的简化代码
    PHP restful 接口
    PHP 连接数据库
    PHP图片上传
    cookie记录用户最后登录时间
    解决 各浏览器不支持display:flex的最简单办法
    PHP 生成验证码
    php文件上传
    H5图片异步拖拽上传
    H5播放器有时获取duration的值为NaN?
  • 原文地址:https://www.cnblogs.com/owys/p/3957377.html
Copyright © 2011-2022 走看看