ajax拖拽上传文件

AJAX拖拽上传

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .box {
      width: 300px;
      height: 300px;
      border: 1px solid #000;
      text-align: center;
      line-height: 300px;
      font-size: 40px;
    }
  </style>
</head>

<body>
  <div class="box">+</div>

  <script>
    var box = document.querySelector('.box');

    box.ondragover = function (e) {
      e.preventDefault();
    }
    box.ondrop = function (e) {
      console.log(e.dataTransfer)
      e.preventDefault();
      var xhr = new XMLHttpRequest();
      xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
          console.log(xhr.responseText)
        }
      }
      xhr.open('POST', './server.php', true);

      var formdata = new FormData();
      formdata.append('pic', e.dataTransfer.files[0]);
      formdata.append('name', 'luyao');
      xhr.send(formdata);

    }
  </script>
</body>

</html>
//server.php

<?php
	$rand = rand(1,1000).'.jpg';
	move_uploaded_file($_FILES['pic']['tmp_name'], './uploads/'.$rand);
	echo '/uploads/'.$rand;
posted @   清风白水  阅读(442)  评论(2编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示