利用html5的FormData对象和ajax实现异步文件上传
2013-12-03 19:15
841 查看
js部分:
<!doctype html> <html> <head> <meta charset='utf-8'/> <title>html5拖拽+ajax异步文件上传</title> </head> <style> #box{ width:100px; height:100px; border:1px solid green; line-height:50px; text-align:center; } </style> <script> window.onload=function(){ var box=document.getElementById('box'); box.ondragenter=function(ev){ this.innerHTML="<font color=red>请放下</font>"; ev.preventDefault(); }; box.ondragover=function(ev){ this.innerHTML="<font color=red>请放下</font>"; ev.preventDefault(); }; box.ondragleave=function(ev){ this.innerHTML="<font color=red>请拖入要上传的文件!</font>"; ev.preventDefault(); }; box.ondrop=function(ev){ var up_file=ev.dataTransfer.files[0]; var form_data=new FormData(); //append的第一个参数lpprince是后台接受的文件名,相当于input 的name属性的值 form_data.append('lpprince',up_file); //创建XMLHttpRequest对象 var xml=new XMLHttpRequest(); xml.open('post','do_up.php'); xml.onreadystatechange=function(){ if(xml.readyState==4&& xml.status==200){ box.innerHTML=xml.responseText; } } xml.send(form_data); ev.preventDefault(); }; } </script> <body> <div id='box'><font color=red>请拖入要上传的文件!</font></div> </body> </html>
PHP部分:
<?php $file=$_FILES['lpprince']; if( is_uploaded_file($file['tmp_name']) ){ if(!file_exists('./imgs')){ mkdir('./imgs'); } $is_ok=move_uploaded_file($file['tmp_name'],'./imgs/'.date("Y-m-d H:i:s").$file['name']); if($is_ok){ echo '<font color="red">上传成功!</font>'; }else{ echo '<font color="red">上传失败!</font>'; } } ?>
相关文章推荐
- 利用html5的FormData对象和ajax实现异步文件上传
- HTML5利用FormData对象实现显示进度条的文件上传【转】
- ajax 利用formdata对象 实现多文件上传
- 利用html5的FileReader对象实现图片预览,利用FormData对象结合struts2实现无刷新文件上传(多参数)
- [HTML5][JSP]利用FormData对象完成表单的异步上传|文件上传|图文同时上传
- ajax利用html5新特性带进度条上传文件 html5的FormData对象和input的file属性以及window.URL.createObjectURL( ) 方法
- HTML5利用FormData对象实现显示进度条的文件上传【译】
- Ajax使用FormData对象实现无刷新上传文件
- 利用js/jq 利用FormData 对象和ajax上传文件
- Spring利用MultipartFile接收FormData对象上传文件(可接收AJAX上传的包含多文件的复杂表单内容)
- 使用H5的formData对象实现文件的异步上传
- ajax利用FormData、FileReader实现多文件上传php获取
- 原生js利用ajax、FormData对象实现进度条上传
- Node和express中利用Jquery的$.ajax和HTML5的FormData完成文件上传示例
- 利用html5的FormData对象实现多图上传
- 利用Ajax FormData实现无刷新带进度条文件上传
- 利用 FormData 对象和 Spring MVC 配合实现Ajax文件下载功能
- SpringMVC前台利用ajax和FormData上传文件
- 使用html+ajax+formdata+SpringMVC实现单个文件,和多个文件上传功能
- 通过Ajax使用FormData对象无刷新上传文件