无法使用dropzone laravel沿输入发送文件

时间:2017-07-17 10:05:04

标签: jquery laravel-5 dropzone.js

我使用laravel 5.4和dropzone上传表单中的照片。

我有一个包含大量输入的表单。我想要的是当用户点击提交按钮,上传照片然后发送所有输入名称。

我的表单如下:

// initialize dropzone
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone(
    "#myDropzone",
    {
        url: "/company",
        method: "post",
        uploadMultiple: true,
        parallelUploads: 6,
        maxFiles: 6,
        addRemoveLinks: true,
        acceptedFiles: '.jpg,.jpeg,.JPEG,.JPG,.png,.PNG',
        autoProcessQueue: false,
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        init: function() {
            var myDropzone = this;
            $('#companyForm').on("submit", function(e) {
                if(myDropzone.files.length > 0) {
                    e.preventDefault();
                    e.stopPropagation();
                    myDropzone.processQueue();
                }
            });
        }
    }
);

我的dropzone配置:

CHECK CONSTRAINT

单击提交时,将发送文件,但不发送输入字段。

如何沿文件发送输入????

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案......我认为这不是最有效的方法,但它有效。

  1. 将id =“companyForm”替换为配置“myDropzone”中的dropzone id

  2. 使用div进行dropzone预览<div id="dropzonePreview" class="dropzone">

  3. 修改了配置:https://kopy.io/QYxjy

  4. 重定向是一个问题(仅当提交文件时)。控制器return redirect()->route('home');但不重定向表单 - 仅在提交没有文件时; 我做了一个修复:window.location.href=home;其中home是刀片中的变量。 - 也许有人有更好的主意

  5. 现在在控制器中,我在一个请求中获取所有数据:)