【问题标题】:Dropzone.js not submitting filesDropzone.js 不提交文件
【发布时间】:2015-11-01 21:55:28
【问题描述】:

我已经尝试了所有方法,但无法让 dropzone.js 将文件发送到服务器。我觉得一定有一些非常基本的东西我没有到达这里。

我现在要做的就是让文件在用户选择它们时自动上传(样式无关紧要),但它似乎并没有触发我的 php 代码,我只能假设它没有提交(目标页面与调用它的页面相同)。

HTML:

<?php 
    if (!empty($_FILES)) {
        print "Files exist";
    }
?>

<ul class="submission_container">
    <li id="file_01" title="Click here to upload files">
        <div class="ledger_preview">
            <form action="/file-upload" class="dropzone" id="file-one">
                +
            </form>
        </div>
    </li>
</ul>

Javascript:

Dropzone.options.fileOne = {
    url: 'submit.php',
    paramName: 'file_01',
    method: 'POST',
    parallelUploads: 1,
    clickable: true,
    maxFilesize: 7,
    acceptedFiles: 'application/pdf',
    autoProcessQueue: true,
    dictDefaultMessage: '',
    dictFallbackMessage: '',
    dictFallbackText: '',
    dictFallbackText: '',
    dictInvalidFileType: '',
    dictFileTooBig: '',
    dictResponseError: '',
    dictCancelUpload: '',
    dictCancelUploadConfirmation: '',
    dictRemoveFile: '',
    dictMaxFilesExceeded: '',

    accept: function(file, done) {
        done();
    }
}

CSS:

li {
    list-style-type: none;
}

.submission_container {
    margin: 0 auto;
}

.ledger_preview {
    height: 7.647em;
    width: 12em;
    display: inline-block;
    border: 1em solid #A3A3A3;
}

.dropzone {
    text-align: right;
    font-size: 8em;
    font-weight: 900;
    color: #A3A3A3;
    display: inline-block;
    width: 100%;
    height: 100%;
}

FSFiddle(没有 PHP): http://jsfiddle.net/qo4cLeco/

【问题讨论】:

  • 您在尝试上传时是否在网络检查器中看到任何网络请求?你用的是什么浏览器?
  • 我正在使用 Chrome - 似乎没有任何网络请求。如果有任何区别,我将在 WAMP 上本地运行所有这些
  • 我认为我不需要一个,因为他们在他们的示例中没有显示一个 dropzonejs.com/#usage
  • dropzone 对我不起作用...当我在没有 dropzone 的情况下进行正常浏览和上传时..我的 $_FILES 被打印出来了..但是当我使用 dropzone 时,我的 $_FILES 给了我错误 4跨度>

标签: php jquery dropzone.js


【解决方案1】:

我看到你在表单中有 - action 参数,在 Dropzone 中有 url 参数。

Dropzone中的Url参数has to be specified on elements other than form (or when the form doesn't have an action attribute).

在您的 JsFiddle 示例中,该帖子是在 /file-upload 中发布的 - 您确定您正在那里等待上传的文件吗?或者您在 submit.php 中等待它们?

我相信,如果您删除不需要的那个,它应该一切正常 - 表单中的操作参数或 DropZone 配置中的 url 参数。

【讨论】:

    【解决方案2】:

    所以事实证明我误解了正在发生的事情的机制。当我期待页面重新加载时,这些文件是通过 ajax 调用提交的。当我用将文件粘贴到服务器上所需的代码替换我的 PHP 时,该代码似乎可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 2015-04-08
      • 1970-01-01
      • 2019-06-29
      • 2013-11-22
      • 1970-01-01
      相关资源
      最近更新 更多