【问题标题】:Can't upload files above 1mb in Dropzone无法在 Dropzone 中上传 1mb 以上的文件
【发布时间】:2015-06-07 10:56:39
【问题描述】:

我使用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()]);
    }
}

【问题讨论】:

  • 例外是......?你试过阅读它的信息吗?
  • 一些 SQL 异常。当我将光标悬停在文件上时,它会显示以下消息:执行 INSERT INTO Document (name, type, description, extension, dateUploaded, path, uploader_id) VALUES (?, ?, ?, ?, ?, ?, ?) 似乎它一直在向数据库中插入空值。
  • 那么为什么这些值是空的?
  • 我不知道为什么会这样。当我上传小于 1mb 的文件时,不会发生这种情况。
  • 所以调试它。这是一个面向开发者的社区。​​span>

标签: javascript symfony dropzone.js


【解决方案1】:

终于修好了。我只需要在我的php.ini 文件中更改upload_max_filesize 的值。我保存了文件,重新启动 XAMPP 并让它工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2016-08-01
    • 2014-09-03
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多