Dropzone.js未提交文件


Dropzone.js not submitting files

我已经尝试了所有的方法,但我无法让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/

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

Dropzone中的Url参数必须在表单以外的元素上指定(或者当表单没有操作属性时)。

在你的JsFiddle示例中,帖子被上传到/文件上传-你确定你在那里等待上传的文件吗?或者您正在submit.php中等待他们?

我相信,如果你删除了一个你不需要的参数——表单中的action参数或DropZone配置中的url参数,一切都会好起来。

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