无刷新文件上传

时间:2021-11-11 13:11:05

无刷新文件上传

ajax的FormData对象完成无刷新操作

ajax level 2 标准 可以对文件操作,但是只支持新的浏览器(不兼容低版本的IE),是H5标准

注意事项:

  1. 表单大小

    无刷新文件上传

  2. 单个文件上传大小

    无刷新文件上传

     

    实操:

  3. 写一个form表单,但是需要注意的是,不为form表单设置 enctype属性

    无刷新文件上传

  4. 为上传的按钮绑定一个点击事件,完成ajax提交上传文件

    无刷新文件上传

  5. 利用FormData收集form表单里面的数据(普通数据 + 上传域里面的)

    无刷新文件上传

  6. 要利用ajax对象的upload成员的onprogress句柄来监控文件上传的情况
    1. 设置一个上传进度条显示框

    无刷新文件上传

    b)    css设置

    无刷新文件上传

    无刷新文件上传

    c)    设置监控文件上传事件

    无刷新文件上传

  7. 要通过 onreadystatechange 来监控ajax操作

    无刷新文件上传

  8. 发送ajax请求(注意:使用FormData来完成数据上传的时候不需要设置ajax的请求头)

    无刷新文件上传

  9. 在onprogress 里面利用 事件源(上传的那个文件)做进度显示

    无刷新文件上传

  10. 服务器data.php文件实现上传文件处理

    无刷新文件上传

    iframe实现无刷新上传

  11. 创建一个index.php文件,设置上传域

    无刷新文件上传

    无刷新文件上传

    技术点1: 需要设置表单提交打开的窗口为 自己定义的一个 iframe

    技术点2: 在data.php 文件需要处理生成的图片,然后返回图片URL地址,使用top获取打开当前iframe的窗口,修改img标签的src属性

    2. data.php 完成图片的保存和返回

    无刷新文件上传