Js+php实现异步拖拽上传文件


Posted in Javascript onJune 23, 2015

异步拖拽上传文件--小实例

upload.html

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
  <head>
    <title>TODO supply a title</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      #box{
        width:150px;height: 150px;border: 1px solid red;
      }
    </style>
    <script type="text/javascript" src="XMLhttpReuest.js"></script>
    <script>
      window.onload = function () {
        var box = document.getElementById('box');
        box.ondragenter = function (e) {
          e.preventDefault();
        }
        box.ondragover = function (e) {
          e.preventDefault();
        }
        box.ondragleave = function (e) {
          e.preventDefault();
        }
        box.ondrop = function (e) {
          e.preventDefault();
          var file = e.dataTransfer.files[0];
          var formData = new FormData();
          formData.append('aa', file);
 
          var xml = ajaxFunction();
          xml.open("post", './upload.php', true);
          xml.send(formData);
          xml.onreadystatechange = function () {
            if (xml.readyState == 4 && xml.status == 200) {
              var flag = xml.responseText;
              console.log(flag);
              if (flag == 1) {
//                box.innerHTML="上传成功";
                alert('上传成功');
              }
            }
          }
        }
 
 
      }
    </script>
  </head>
  <body>
    <div id="box">
      请拖入上传的文件
    </div>
  </body>
</html>

upload.php

<?php

header("Content-Type:text/html;charset=UTF-8");

if(is_uploaded_file($_FILES['aa']['tmp_name'])){

    move_uploaded_file($_FILES['aa']['tmp_name'], "./".iconv("UTF-8", "GBK", $_FILES['aa']['name']));

    echo '1';

}

 XMLhttpReuest.js

function ajaxFunction()
 {
 var xmlHttp;
 try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
 catch (e)
  {
 // Internet Explorer
  try
   {
   xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
  catch (e)
   {
   try
     {
     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
   catch (e)
     {
     alert("您的浏览器不支持AJAX!");
     return false;
     }
   }
  }
  return xmlHttp;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
由浅到深了解JavaScript类
Sep 08 Javascript
JavaScript 变量命名规则
Sep 23 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
JavaScript每天必学之事件
Sep 18 Javascript
使用vue-aplayer插件时出现的问题的解决
Mar 02 Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 Javascript
Layui数据表格之单元格编辑方式
Oct 26 Javascript
小程序采集录音并上传到后台
Nov 22 Javascript
javascript框架设计之类工厂
Jun 23 #Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 #Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 #Javascript
简述AngularJS相关的一些编程思想
Jun 23 #Javascript
javascript框架设计之种子模块
Jun 23 #Javascript
在JavaScript的AngularJS库中进行单元测试的方法
Jun 23 #Javascript
javascript框架设计之框架分类及主要功能
Jun 23 #Javascript
You might like
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
python使用cPickle模块序列化实例
2014/09/25 Python
Python构建网页爬虫原理分析
2017/12/19 Python
使用C++扩展Python的功能详解
2018/01/12 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
悦木之源美国官网:Origins美国
2016/08/01 全球购物
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
办公室经理岗位职责
2014/01/01 职场文书
二年级体育教学反思
2014/01/15 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
银行给客户的感谢信
2015/01/23 职场文书
企业工会工作总结2015
2015/05/13 职场文书
开学第一周总结
2015/07/16 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书