首页 > 作文

php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析

更新时间:2023-04-08 15:48:58 阅读: 评论:0

本文实例讲述了php 下 html5 xhr2 + formdata + file api 上传文件操作。分享给大家供大家参考,具体如下:

formdata的作用:

formdata上下合打一字对象可以帮助我们自动的打包表单数据,通过xmlhttprequest的nd()方法来提交表单。当然formdata也可以动态的append数据。formdata的最大优点就是我们可以异步上传一个二进制文件。

例1如下:

<!doctype html><html lang="zh-cn"><head>  <meta chart="utf-8">  <title></title></head><body>  <form method="post" id="myform" onsubmit="return post();">    用户名<input type="text" name="uname" />    密码<input type="password" name="upwd" />    邮箱<input type="text" name="uemail" />    <input type="submit" name="submit" value="提交" />  </form></body><script type="text/javascript">function post() {  var myform = document.getelementbyid("myform");  //formdata既可以从表单读取数据,也可以动态append(键,值)添加  var fd = new formdata(myform);  var xhr = new xmlhttprequest();  xhr.onreadystatechange = function () {    if (xhr.readystate == 4) {      alert(this.respontext);    }  };  xhr.open("post", "post.php", true);  xhr.nd(fd);  return fal;}</script></html>

file api詹天佑读后感400字

使用html5 dom新增的file api,现在可以让网页要求用户选择本地文件,并且读取这些文件的信息了。

通过file api,我们可以在用户选取一个或者多个文件之后,访问到代表了所选文件的一个或多个file对象,这些对象被包含在一个filelist对象中。

<!doctype html><加速度怎么求;html lang="zh-cn"><head>  <meta chart="utf-8">  <ti陈怎么组词tle></title></head><body>  <form method="post" id="myform">    <input type="file" name="file" id="upfile" />    <input type="submit" name="submit" value="提交" />  </form></body><script type="text/javascript">  var upfile = document.getelementbyid("upfile");  upfile.onchange = function() {    var file = this.files[0];    alert("文件名:" + file.name 蒸鱼的做法+ "\r\n" + "大小:" + file.size + "\r\n");  };</script></html>

我们通过formdata + file api 上传文件

<!doctype html><html lang="zh-cn"><head>  <meta chart="utf-8">  <title></title></head><body>  <form method="post" id="myform">    <input type="file" name="file" id="upfile" />    <input type="submit" name="submit" value="提交" />  </form></body><script type="text/javascript">  var myform = document.getelementbyid("myform");  var upfile = document.getelementbyid("upfile");  myform.onsubmit = function() {    //我们创建一个formdata对象    var fd = new formdata();    var file = upfile.files[0];    //把文件添加到formdata对象中    fd.append("file", file);    var xhr = new xmlhttprequest();    xhr.onreadystatechange = function () {      if (xhr.readystate == 4) {        alert(this.respontext);      }    };    xhr.open("post", "upfile.php", true);    //发送formdata对象    xhr.nd(fd);    return fal;  };</script></html>

upfile.php代码如下:

<?php$uploaddir = './upload/';if(!file_exists($uploaddir)) {  @mkdir($uploaddir, 0777, true);}$uploadfile = $uploaddir . baname($_files['file']['name']);if(move_uploaded_file($_files['file']['tmp_name'], $uploadfile)) {  echo "ok";} el {  echo "no";}

使用对象url来显示你所选择的图片

通过window.url.createobjecturl()和 window.url.revokeobjecturl()两个dom方法。

这两个方法创建简单的url字符串对象,用于指向任何 dom file 对象数据,包括用户电脑中的本地文件。

<!doctype html><html lang="zh-cn"><head>  <meta chart="utf-8">  <title></title></head><body>  <form method="post" id="myform">    <input type="file" name="file" id="upfile" />    <input type="submit" name="submit" value="提交" />  </form></body><script type="text/javascript">  var myform = document.getelementbyid("myform");  var upfile = document.getelementbyid("upfile");  upfile.onchange = function() {    //创建一个img标签    var img = document.createelement("img");    //通过file对象创建对象url    img.src = window.url.createobjecturl(this.files[0]);    img.height = 60;    img.onload = function() {      //释放对象url      window.url.revokeobjecturl(this.src);    };    document.body.appendchild(img);  };  myform.onsubmit = function() {    //我们创建一个formdata对象    var fd = new formdata();    var file = upfile.files[0];    //把文件添加到formdata对象中    fd.append("file", file);    var xhr = new xmlhttprequest();    xhr.onreadystatechange = function () {      if (xhr.readystate == 4) {        alert(this.respontext);      }    };    xhr.open("post", "upfile.php", true);    //发送formdata对象    xhr.nd(fd);    return fal;  };</script></html>

本文发布于:2023-04-08 15:48:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/18862645a87b0c265477999efc498c21.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析.doc

本文 PDF 下载地址:php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析.pdf

标签:对象   文件   表单   创建一个
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图