laravel的PUT无法传递form-data数据

522 阅读1分钟

laravel资源路由中的update方法,是put/patch类型的请求,想要接收文件参数,是需要form-data来接收的,尝试了一下,发现接收不到参数。到文档上看了一下,给出这样的解决方案。

Method 域 HTML 表单不能发出 PUT、 PATCH 及 DELETE 请求,需要加入隐藏的 _method 域来模拟这些 HTTP 动作。Blade 的 @method 指令能够帮你创建这个域:

<form action="/foo/bar" method="POST">
    @method('PUT')

    ...
</form>

———————————————— 原文作者:Laravel China 社区文档:《Laravel 7 中文文档(7.x)》 转自链接:learnku.com/docs/larave… 版权声明:翻译文档著作权归译者和 LearnKu 社区所有。转载请保留原文链接

但是,如果我不是通过laravel的blade模板,那么这个@method就不好用了,然后就找到了以下的解决方法。

可以先通过post访问,然后url上面添加一个参数,_method=PUT,这样就能解决了。就像下面这样

image.png