【问题标题】:dropzone.js sends empty $_FILESdropzone.js 发送空的 $_FILES
【发布时间】:2015-05-22 17:17:06
【问题描述】:

我尝试使用dropzone.js 制作一个拖放文件上传区域,我在这里变得非常绝望。我有这个最简单的脚本:

<?php
  print_r($_FILES);
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
        <meta charset="utf-8">
    </head>
    <body>
        <form action="/" method="POST" enctype="multipart/form-data" class="dropzone">
            <input name="file" type="file" />
            <input type="submit" name="submit" value="Submit" />
        </form>
        <script type='text/javascript' src="dropzone.js"></script>
    </body>
</html>

当我使用文件输入按钮手动选择文件时,我得到这个结果:

Array ( [file] => Array ( [name] => test.txt [type] => text/plain [tmp_name] => C:\wamp\tmp\php4DFF.tmp [error] => 0 [size] => 247 ) )

但是,当我使用 dropzone 拖放时,文件显示为已上传,但提交后我得到:

Array ( [file] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )

也称为UPLOAD_ERR_NO_FILE 值:4;没有文件上传。

我错过了什么吗?

我尝试使用诸如 autoProcessQueue: falseautoDiscover: false、自动表单提交、不同脚本、不同服务器 (apache/nginx) 之类的设置,但绝对没有似乎对我有用。我现在只是在监督一些愚蠢的事情。

我使用 dropzone.js v4.0.1,但我也尝试过旧版本。

【问题讨论】:

  • 你知道 Ravishanker Kusuma 的jQuery Upload File Plugin。如果我不认为这是一个可靠的解决方案,我不会通过引入不同的插件来混淆水。我自己一直在用它,觉得很神奇。此外,作者在他的 Disqus 线程上监控 cmets 并每天提供协助。 支持“开箱即用”的拖放。他的网站上有示例,SO 上还有许多其他示例。

标签: php file-upload dropzone.js


【解决方案1】:

当我的文件大于我的 php.ini 文件中配置的最大值 (upload_max_filesize) 时,我也遇到了同样的情况。

您可能要检查的其他设置:

  • upload_max_filesize
  • post_max_size
  • max_input_time
  • max_execution_time

【讨论】:

    【解决方案2】:

    您不应该使用拖放区提交(点击提交按钮),它是异步工​​作的,所以一旦您将文件放入,它会点击您的 php 上传脚本,而无需执行任何其他操作。 一旦你点击提交,它将是第二次,你正在重新提交表单,它会显示为空。

    您可能也应该将您的 php 放在一个单独的页面上,而不是提交给它自己。提交后你将无法在浏览器中查看这篇文章,因为它是 ajax 和异步的,但你至少可以使用 chrome 的开发工具来查看这篇文章。

    【讨论】:

    • 哦,我完全没有意识到这一点!谢谢你,先生!
    • 我没有找到任何证据表明它正在为我做这件事,这里是 5.4.0。开发者工具的 XHR 选项卡中不应该至少显示一些东西吗?
    • 所有流量都在 chromium 开发工具的网络选项卡中可见。真的很有帮助!让我又省了一大堆挫折。
    猜你喜欢
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2020-10-17
    相关资源
    最近更新 更多