html5简单实现拖拽上传文件(直接上代码)

本文通过HTML5的拖放API展示了如何实现一个简单的拖拽上传.xlsx文件的功能。当用户将文件拖入指定区域时,代码会检查文件类型是否为.xlsx,如果不是则给出错误提示并刷新页面。如果是.xlsx文件,文件会被上传到服务器,并在上传成功后自动刷新页面。
摘要由CSDN通过智能技术生成
<div >

    <div class="card-box">

        <div class="card" id="dropBox" >  

            <div >

                <p><i class="layui-icon layui-icon-upload"></i></p>

                 <p class="font-color">支持拓展名:xlsx</p>

            </div>

        </div>

    </div>

</div>





<script>

    let dropBox = document.getElementById("dropBox")

    //监听文件拖拽移入

    dropBox.addEventListener('dragover', FileDragHover, false)

    //监听文件拖拽移出

    //dropBox.addEventListener('dragleave', FileDragLeave, false)

    //监听文件拖拽放下

    dropBox.addEventListener('drop', 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5实现批量上文件代码如下: ```html <!DOCTYPE html> <html> <head> <title>Drag and Drop File Upload</title> <style> #drop_area { width: 200px; height: 200px; border: 2px dashed gray; text-align: center; font-size: 20px; margin: 20px auto; padding: 10px; } </style> </head> <body> <div id="drop_area"> Drag and Drop Files Here </div> <script> var dropArea = document.getElementById('drop_area'); // Prevent default drag behaviors ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => { dropArea.addEventListener(eventName, preventDefaults, false); document.body.addEventListener(eventName, preventDefaults, false); }); // Highlight drop area when dragging files over it ['dragenter', 'dragover'].forEach(eventName => { dropArea.addEventListener(eventName, highlight, false); }); // Remove highlight when dragging files out of drop area ['dragleave', 'drop'].forEach(eventName => { dropArea.addEventListener(eventName, unhighlight, false); }); // Handle dropped files dropArea.addEventListener('drop', handleDrop, false); function preventDefaults(e) { e.preventDefault(); e.stopPropagation(); } function highlight() { dropArea.classList.add('highlight'); } function unhighlight() { dropArea.classList.remove('highlight'); } function handleDrop(e) { var dt = e.dataTransfer; var files = dt.files; handleFiles(files); } function handleFiles(files) { files = [...files]; files.forEach(uploadFile); } function uploadFile(file) { var url = 'upload.php'; var formData = new FormData(); formData.append('file', file); fetch(url, { method: 'POST', body: formData }) .then(response => { console.log(response.text()); }) .catch(error => { console.error(error); }); } </script> </body> </html> ``` 其中,`upload.php` 是接收文件并处理的 PHP 文件。下面是一个简单的上 PHP 文件的示例: ```php <?php if ($_FILES['file']['error'] === UPLOAD_ERR_OK) { $uploadPath = './uploads/' . basename($_FILES['file']['name']); move_uploaded_file($_FILES['file']['tmp_name'], $uploadPath); echo 'File uploaded successfully!'; } else { echo 'Error uploading file.'; } ?> ``` 上述代码将上文件保存到 `uploads` 文件夹中,并返回上成功或失败的消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值