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 相关文章推荐
js判断页面中是否有指定控件的简单实例
Mar 04 Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
jQuery检测滚动条是否到达底部
Dec 15 Javascript
jQuery+ajax+asp.net获取Json值的方法
Jun 08 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
微信小程序 实现拖拽事件监听实例详解
Nov 16 Javascript
JavaScript中Array对象用法实例总结
Nov 29 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
Dec 31 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 Javascript
vue 弹出遮罩层样式实例
Jul 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
Zend的Registry机制的使用说明
2013/05/02 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
Bootstrap精简教程
2015/11/27 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
js中作用域的实例解析
2017/03/16 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
Python用GET方法上传文件
2015/03/10 Python
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python程序中设置HTTP代理
2016/11/06 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
服务承诺书怎么写
2014/05/24 职场文书
教育合作协议范本
2014/10/17 职场文书
婚庆答谢词大全
2015/09/29 职场文书
element多个表单校验的实现
2021/05/27 Javascript
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android