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控制frame,iframe的src属性代码
Dec 31 Javascript
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
ExpressJS入门实例
Jan 14 Javascript
jstl中判断list中是否包含某个值的简单方法
Oct 14 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
Nov 25 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
基于JavaScript实现自定义滚动条
Jan 25 Javascript
JS正则表达式判断有效数实例代码
Mar 13 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
Aug 20 Javascript
node使用request请求的方法
Dec 20 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
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
jquery tools之tooltip
2009/07/25 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
js获取url中&quot;?&quot;后面的字串方法
2014/05/15 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
python实现ping命令小程序
2020/12/28 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
社团活动总结范文
2014/04/26 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
介绍信模板
2015/01/31 职场文书
教师岗位职责范本
2015/04/02 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python
Java中的Kotlin 内部类原理
2022/06/16 Java/Android