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 相关文章推荐
如何阻止复制剪切和粘贴事件为了表单内容的安全
May 23 Javascript
js动态创建标签示例代码
Jun 09 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
Jul 29 Javascript
Jquery常用的方法汇总
Sep 01 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
Bootstrap基本样式学习笔记之标签(5)
Dec 07 Javascript
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
Feb 09 Javascript
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
layui 上传文件_批量导入数据UI的方法
Sep 23 Javascript
vue实现商品列表的添加删除实例讲解
May 14 Javascript
JS实现扫雷项目总结
May 19 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和ACCESS写聊天室(三)
2006/10/09 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
Python反射用法实例简析
2017/12/22 Python
python opencv之分水岭算法示例
2018/02/24 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
中学自我评价
2014/01/31 职场文书
死亡赔偿协议书
2015/01/28 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL