/**
FormData ==>表单数据
能自动把表单数据拼接打包
当ajax发送数据时,发送打包的数据;
还可以使用FormData对象的append(key,value)添加数据
FormData还可以自动帮忙打包文传送件数据,后台通过$_FILES数组接收 说明FormData对象既可以打包发送表单的数据,也可以手动append数据 注意,input Dom对象有一个files属性 十一哥文件数组
**/
<!doctype html> <html>
<head>
<meta charset=utf-8> <head>
<title>FromData</title>
</head> <script> window.onload=function(){ function _ajax(data,url,method){ var xml=new XMLHttpRequest();
xml.open(method,url,true); xml.onreadystatechange=function(){ if(this.readyState==4){ alert(this.responseText);
}
} xml.send(data); }
function send_form(){ var myform=document.getElementById('myform');
//这行代码FormData对象帮忙把数据打包了;
var _formData=new FormData(myform); var myImg=document.getElementById('myImg').files[0];
alert(myImg);
_formData.append('sex','man');
_formData.append('like','basketball');
//直接把_formData对象传给XMLHttpRequest对象的send()方法
_ajax(_formData,'./accept.php','post') } var btn=document.getElementById('btn');
btn.onclick=function(){ send_form();
} }
</script> <body> <form id='myform'>
姓名:<input type='text' name='name'/><br/>
城市:<input type='text' name='city'/><br/>
密码:<input type='password' name='password'/><br/>
<input type='file' name='myImg' id='myImg'/><br/>
<input type='button' value='确认' id='btn'/>
</form> </body> </html> =============================
//后台接收到的数据
Array
(
[name] => lpprince
[city] => qingyuan
[password] => 123
[sex] => man
[like] => basketball
)
Array
(
[myImg1] => Array
(
[name] => xiao1.jpg
[type] => image/jpeg
[tmp_name] => /Applications/XAMPP/xamppfiles/temp/php0AjbuQ
[error] => 0
[size] => 13039
) [myImg2] => Array
(
[name] => xiao.c
[type] => application/octet-stream
[tmp_name] => /Applications/XAMPP/xamppfiles/temp/phpMprmQq
[error] => 0
[size] => 49
) )

input的file属性以及window.URL.createObjectURL(  ) 方法

<!doctype html>

<html>
<head>
<meta charset=utf-8> <head>
<title>FromData</title>
</head> <script> window.onload=function(){ var btn=document.getElementById('btn'); var file_msg=document.getElementById('file_msg'); var input=document.getElementById('myImg') input.onchange=function(){ /*
input 有files属性,该属性是一个数组,保存了图片的信息
name=>L.png
lastModifiedDate=>Mon Nov 11 2013 13:38:31 GMT+0800 (CST)
size=>54546
type=>image/png
webkitSlice=>function webkitSlice() { [native code] }
*/
var myImg=document.getElementById('myImg').files[0]; var pic=document.createElement('img'); //把二进制对象读成浏览器能够识别的对象;
//Safari竟然不支持URL.createObjectURL()方法,Chrome支持
pic.src=window.URL.createObjectURL(myImg);
pic.style.width='100px';
pic.style.height='100px'; file_msg.innerHTML="文件的大小是"+parseInt(myImg.size)+'M'+'<br/>'+'图片的名字是:'+myImg.name;
document.body.appendChild(pic); } }
</script> <style> #file_msg{
width:150px;
height:150px;
border:1px solid green;
}
</style>
<body> <form id='myform'>
<div id='file_msg'></div>
<input type='file' name='myImg1' id='myImg'/><br/> <input type='button' value='确认' id='btn'/>
</form> </body> </html>

html5的FormData对象和input的file属性以及window.URL.createObjectURL( ) 方法(转载)的更多相关文章

  1. 关于利用input的file属性在页面添加图片的问题

    在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析: 在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径. 在火狐和谷歌需要用createObjectURL(( ...

  2. HTML5利用FormData对象实现显示进度条的文件上传

    摘自:https://blog.csdn.net/q1056843325/article/details/53759963 自己做是按这个实现的,兼容性还不错 完整简约的解决方案 下面的代码清单是包括 ...

  3. 修改input type=file 标签默认样式的简单方法

    <html><head><title></title></head><body><form id="upload ...

  4. input type=file 上传文件样式美化(转载)

    input type=file 上传文件样式美化 来源:https://www.jianshu.com/p/6390595e5a36 在做input文本上传时,由于html原生的上传按钮比较丑,需要对 ...

  5. 利用html5的FormData对象实现多图上传

    <html> <head> <title>FormData多图上传演示</title> </head> <body> <a ...

  6. php 下 html5 XHR2 + FormData + File API 上传文件

    FormData的作用: FormData对象可以帮助我们自动的打包表单数据,通过XMLHttpRequest的send()方法来提交表单.当然FormData也可以动态的append数据.FormD ...

  7. HTML5 FormData对象

    利用FormData对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". 创建一个FormData对象 你可以先创建一个空的F ...

  8. 有关图片上传的相关知识input type=file,HTML5的 input:file上传类型控制

    遇到项目,要求做一个影像系统,对于前端开发需要了解file的相关属性,以及如何开发.工欲善其事,必先利器嘛.度娘一阵子搜索,找资料.这年头,需要的是你解决问题的能力啊! 参考应用:https://ww ...

  9. Web 前沿——HTML5 Form Data 对象的使用

    XMLHttpRequest Level 2 添加了一个新的接口——FormData.利用 FormData 对象,我们可以通过 JavaScript 用一些键值对来模拟一系列表单控件,我们还可以使用 ...

随机推荐

  1. SQL NOT EXISTS

    看了一篇文章,虽然知识点很简单,但是还是帮我理解了一些以前没想到的东西 一共三个表student,class,score create table student(sno varchar(50) no ...

  2. Spring源码学习之:FactoryBean的使用

    转载:http://book.51cto.com/art/201311/419081.htm ==========个人理解========================= FactoryBean和B ...

  3. html框架

    1.框架的概念 框架:将一个浏览器窗口划分成若干个小窗口 2.框架集合框架页 框架集<frameset>:主要用来划分窗口的. 框架页<frame>:主要用来指定窗口默认显示的 ...

  4. Unity3D入门

    Unity3D是一款应用广泛的3D游戏引擎,本文主要介绍unity3D的简单应用,安装过程略过. 在游戏的整个开发过程中,游戏界面设计占据非常重要的地位.因为游戏启动后,第一个映入眼帘的就是整个游戏U ...

  5. Docker 容器部署 Consul 集群

    Docker 容器部署 Consul 集群 一.docker安装与启动1.1安装docker[root@localhost /]# yum -y install docker-io 1.2更改配置文件 ...

  6. 深入浅出SQL Server中的死锁

    简介 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的.理解死锁首先需要对死锁所涉及的相关观念有一个理解. 一些基础知识 要理解SQL Server中的死锁,更好的方式是通过类比从更大的面理 ...

  7. Ionic页面加载前 ionic页面加载完成 ionic页面销毁执行的事件

    ionic 中$ionicView.beforeEnter(页面刚加载前)  $ionicView.afterEnter  (页面加载完成) $destroy(页面销毁) 广播事件 //ionic c ...

  8. Head First 设计模式之适配器模式与外观模式

    Head First设计模式之适配器模式与外观模式 前言: 之前讲过装饰者模式,将对象包装起来并赋予新的职责,这一章我们也会将对象进行包装,只不过是让它们看起来不像自己而像是别的东西.这样就可以在设计 ...

  9. 使用spring连接及操作mongodb3.0

    前边有一篇记录过不使用spring,直接在java代码中连接和操作mongodb数据库,这里就紧随其后记录一下使用spring的情况下,在java中简单操作mongodb.   maven导包配置: ...

  10. Date和Calendar时间操作常用方法及示例

    package test; import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; /** ...