与一次性提交按钮Dropzone.js(Dropzone.js with onetime submi

2019-09-30 07:39发布

实施Dropzone.js并希望有一次性提交后所有的照片被添加到悬浮窗。 这是正确的,现在有WAMP服务器内Kohana的PHP运行。 出于某种原因,我无法将照片传递到PHP页面。

在JS悬浮窗的配置

$(文件)。就绪(函数(){

   Dropzone.options.dropzoneForm = {
            // The camelized version of the ID of the form element

            paramName: "files",
            autoProcessQueue: false,
            uploadMultiple: true,
            parallelUploads: 100,
            maxFiles: 100,
            previewsContainer: ".dropzone-previews",
            clickable: true,
            dictDefaultMessage: 'Add files to upload by clicking or droppng them here.',
            addRemoveLinks: true,
            acceptedFiles: '.jpg,.pdf,.png,.bmp',
            dictInvalidFileType: 'This file type is not supported.',

            // The setting up of the dropzone
            init: function () {
                var myDropzone = this;

                $("button[type=submit]").bind("click", function (e) {
                    e.preventDefault();
                    e.stopPropagation();
                    // If the user has selected at least one file, AJAX them over.
                    if (myDropzone.files.length !== 0) {
                        myDropzone.processQueue();
                    // Else just submit the form and move on.
                    } else {
                        $('#dropzone-form').submit();
                    }
                });

                this.on("successmultiple", function (files, response) {
                    // After successfully sending the files, submit the form and move on.
                    $('#dropzone-form').submit();
                });
            }
        }
   });

形成

 <div id="photoContainer">

        <form action="/inspections/uploadphotos" method="post" 
        enctype="multipart/form-data" class="dropzone dz-clickable dropzone-previews" id="dropzone-form">

        </form>
           <button type="submit" id="dz" name="dz" value="Submit " /> Submit Photos</button>
    </div>

Kohana的PHP

    if (!empty($_FILES)) {
    print_r($_FILES);

}

问题是,$ _Files总是空的。 任何人都可以提供配置一些这方面的帮助?

Answer 1:

按F12,看到网络选项卡(预览),然后单击upload.php的文件u能看到这样的

Array( [file] => Array ( [name] => migration_3.jpg [type] => image/jpeg [tmp_name] => D:\xampp\tmp\phpA76F.tmp [error] => 0 [size] => 214924 ))


Answer 2:

使用这样的检查,如果$ _FILE设置

如果(file_exists($ _ FILES [ '文件'] [ 'tmp_name的值'])|| is_uploaded_file($ _ FILES [ '文件'] [ 'tmp_name的值']))



Answer 3:

当你点击提交按钮的文件阵列将永远是空的。 悬浮窗已经提交通过Ajax的文件,所以看到的结果print_r($_FILES); 你需要通过使用Chrome浏览器开发工具(或其他类似的话)网络面板查看结果。

要查看您提交的内容,只为您的形式行动URL到您所需的功能,并添加print_r($_FILES); 某处该功能,在Chrome中打开了开发工具,然后在悬浮窗添加文件,并按照步骤史蒂夫的Bals的答案,看看你的结果。



文章来源: Dropzone.js with onetime submit button