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 相关文章推荐
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
JS+css 图片自动缩放自适应大小
Aug 08 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
Nov 12 Javascript
利用JS来控制键盘的上下左右键(示例代码)
Dec 14 Javascript
nw.js实现类似微信的聊天软件
Mar 16 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
js中offset,client , scroll 三大元素知识点总结
Sep 11 Javascript
JS实现字体背景跑马灯
Jan 06 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
May 10 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 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
UCenter Home二次开发指南
2009/05/28 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
js动态创建及移除div的方法
2015/06/03 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jQuery事件处理的特征(事件命名机制)
2016/08/23 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
Python中编写ORM框架的入门指引
2015/04/29 Python
pygame播放音乐的方法
2015/05/19 Python
python删除过期文件的方法
2015/05/29 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
秋季运动会加油稿200字
2014/01/11 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
美容院合作经营协议书
2014/10/10 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
2019年教师入党申请书
2019/06/27 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang