无法在Dropzone中上传1mb以上的文件

时间:2015-06-07 10:56:39

标签: javascript symfony dropzone.js

我使用Dropzone来处理Symfony2项目中的文件上传。

如果我上传1mb以下的文件,但是当我上传超过1mb的文件时它会正常工作,但会引发异常。

我认为问题出在Dropzone的maxFilesize配置上,但事实并非如此。它正在工作,因为它显示一条消息,文件大小超过了我设置的最大大小。

我的表格:

<form id="quickUpload" action="{{ path('upload_process') }}" method="put" enctype="multipart/form-data" class="dropzone">
   <div class="fallback">
       <input name="file" type="file" multiple />
   </div>
</form>

使用Javascript:

Dropzone.options.quickUpload = {
            addRemoveLinks: true,
            dictDefaultMessage: "Drop files to upload (or click)",
            maxFilesize: 5,
            init: function () {
                this.on("success", function (file, response) {
                    file.serverId = response.id;
                });

                this.on("removedfile", function (file) {
                    if (!file.serverId) {
                        return;
                    }
                    var url = "{{ path("delete_upload") }}";
                    $.ajax({
                        url: url,
                        type: 'POST',
                        data: {id: file.serverId},
                        dataType: 'json',
                        success: function (data) {
                            console.log("File Deleted");
                        },
                        error: function () {
                            console.log("File Delete Error");
                        }
                    });
                });
            }
 }

控制器:

/**
 * @Route("/upload_process", name="upload_process")
 * @Method("PUT")
 */
public function uploadProcessAction(Request $request) {

    if ($request->isXmlHttpRequest()) {
        $files = $request->files;
        $em = $this->getDoctrine()->getManager();
        $ids = [];

        foreach ($files as $file) {
            $document = new Document();
            $document->setUploader($this->getUser())
                    ->setFile($file);
            $em->persist($document);
            $ids[] = $document;
        }
        $em->flush();

        return new JsonResponse(['id' => $ids[0]->getId()]);
    }
}

1 个答案:

答案 0 :(得分:1)

最后修好了。我只需要更改upload_max_filesize文件中php.ini的值。我保存了文件,重新启动了XAMPP并使其正常工作。