欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

无刷新文件上传 - 尼农小道

程序员文章站 2022-04-30 15:40:16
...

无刷新文件上传

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 完成图片的保存和返回

    无刷新文件上传 - 尼农小道