【问题标题】:DropZone inside form returning status 302表单内的 DropZone 返回状态 302
【发布时间】:2015-12-07 02:41:30
【问题描述】:

我正在使用 Laravel + DropZone 创建一个multiple-upload-drag-&-drop-zone

MyjQuery 调用

if($().dropzone) {
    var lstDropZone = jQuery('.dropzone');
    lstDropZone.each(function () {
        var $this = jQuery(this);
        if(!$this.attr('id')) { $this.attr('id', 'dzRand_' + jQuery.guid++); }
        var name = !$this.data('name') ? 'arquivo_upload' : $this.data('name');
        var size = !$this.data('size') ? 10 : parseInt($this.data('size'));
        var url = $this.data('url');

        $this.dropzone({
            paramName: name, // The name that will be used to transfer the file
            maxFilesize: size, // MB
            addRemoveLinks: true,
            url: url,
            parralelUploads: 100,
            uploadMultiple: true,
            autoProcessQueue: false,
            init: function() {

                var submitButton = document.querySelector(".btn-submit");
                var myDropzone = this; // closure

                submitButton.addEventListener("click", function (e) {
                    console.log("the button is clicked");
                    e.preventDefault();
                    e.stopPropagation();
                    myDropzone.processQueue();
                    console.log("after processQueue");
                });

                this.on("complete", function (file) {
                    console.log("Added file.");
                });
                this.on("sendingmultiple", function () {
                    console.log("sending multiple");
                });
                this.on("successmultiple", function (files, response) {
                    console.log("success multiple");
                });
                this.on("errormultiple", function (files, response) {
                    console.log("error multiple");
                });
            }
        });
    });
}

我的路线.php

Route::post('news-img-upload', ['as' => 'news-img-upload', 'uses' => 'NewsImageController@upload']);

我的刀片.php

{{ Form::open(['url' => route('news-img.store'), 'role' => 'form', 'class' => 'item-form', 'files' => true, 'id' => 'myForm']) }}

    {{-- Here goes more fields that will be posted together --}}

    <div class="form-group">
        {{ Form::label(null, trans('admin.Arquivo'), ['class' => 'control-label required']) }}
        <div class="form-controls clearfix">
            <div class="dropzone dz-clickable" data-url="{{URL::route('news-img-upload')}}" data-name="arquivo_upload">
                <div class="dz-default dz-message" data-dz-message="">
                    <span>My upload field</span>
                </div>
            </div>
        </div>
    </div>
    <div class="form-group form-action">
        {{ Form::submit(Save, ['class'=>'btn btn-primary btn-submit']) }}
    </div>
{{ Form::close() }}

控制台(视频代码)显示信息,就像它可以访问控制器一样

但在网络标签中,它只显示状态302,没有任何返回

我的控制器

public function upload(){
    return 'Something isnt fishy';
    print_r(Input::all());
    print_r(Input::file());
    die(' - uploads');
}

这是我第一次使用 DropZone,所以我不知道我应该在这里瞄准什么。

PS:我需要它不是是一个表单,而是一个 div。所以我使用了搜索信息和documentation 来做到这一点。


注意(题外话,但是...):我在第 1427 行将dropzones = document.querySelectorAll(".dropzone"); 更改为dropzones = document.querySelectorAll(".dropzone-auto");,而不是使用Dropzone.autoDiscover = false;,因此我可以在表单中使用autoDiscover。 (这个方法是通用的)

【问题讨论】:

    标签: jquery laravel laravel-routing dropzone.js


    【解决方案1】:

    我在使用 dropzone 和 MVC 时遇到了同样的问题,问题在于上传文件的服务器限制。在我的情况下,我必须更改项目 web.config 的限制,你必须在你的 laravel 项目上做同样的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 2018-05-28
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 2012-03-30
      相关资源
      最近更新 更多