Laravel 大文件的 Dropzone TokenMismatchException
Laravel Dropzone TokenMismatchException for Large Files
我有一个 Laravel 应用程序和一个带有 dropzone 的表单。
通常情况下,它运作良好。但是,当我尝试上传大文件 (50M - 60M) 时,出现此错误 TokenMismatchException
。
我正在使用此代码发送令牌:
formData.append("_token", $('[name=_token]').val());
我还更改了所有 php.ini 设置:
max_upload_size
set_time_limit(0);
memory_limit
post_max_size
max_input_time
如上所述,它适用于小文件。
如果您更改了所有 php 设置,那应该不是问题。但是,如果这是在 AJAX 上完成的,那么将 _token
附加到请求是混乱和 hacky 的。相反,将 {{ csrf_token }}
设置为您的请求 header。更具体地说,将它设置在 X-CSRF-TOKEN
header 上,因为 Laravel 在中间件中检查它。
我解决了这个问题。这是因为 php.ini
文件。我编辑并保存了 php.ini
但它没有影响 phpinfo();
函数的输出。输出显示旧值。
检查此 link 以获取解决方案:
Changes to upload_max_filesize in Ubunutu php.ini will not take effect
我有一个 Laravel 应用程序和一个带有 dropzone 的表单。
通常情况下,它运作良好。但是,当我尝试上传大文件 (50M - 60M) 时,出现此错误 TokenMismatchException
。
我正在使用此代码发送令牌:
formData.append("_token", $('[name=_token]').val());
我还更改了所有 php.ini 设置:
max_upload_size
set_time_limit(0);
memory_limit
post_max_size
max_input_time
如上所述,它适用于小文件。
如果您更改了所有 php 设置,那应该不是问题。但是,如果这是在 AJAX 上完成的,那么将 _token
附加到请求是混乱和 hacky 的。相反,将 {{ csrf_token }}
设置为您的请求 header。更具体地说,将它设置在 X-CSRF-TOKEN
header 上,因为 Laravel 在中间件中检查它。
我解决了这个问题。这是因为 php.ini
文件。我编辑并保存了 php.ini
但它没有影响 phpinfo();
函数的输出。输出显示旧值。
检查此 link 以获取解决方案:
Changes to upload_max_filesize in Ubunutu php.ini will not take effect