laravel - 此路由不支持 post 方法。支持的方法:get、head Laravel 8
问题描述
我正在尝试为用户帐户开发文件上传。每次提交时我都会收到错误消息:此路由不支持 POST 方法。支持的方法:GET、HEAD。
但它应该支持方法Post吗?
你能帮忙吗?
<form action="{{url('image-upload')}}" enctype="multipart/form-data" method="post">
@csrf
<input type="file" name="file">
<input type="submit">
</form>
控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class ImageUploadController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Application|Factory|View
*/
public function imageUpload()
{
return view('imageUpload');
}
/**
* Display a listing of the resource.
*
* @param Request $request
* @return RedirectResponse
*/
public function imageUploadPost(Request $request): RedirectResponse
{
$request->validate([
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$imageName = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $imageName);
return back()
->with('success','You have successfully upload image.')
->with('image',$imageName);
}
}
路线,web.php:
Route::get('image-upload', 'ImageUploadController@imageUpaload')->name('image.upload');
Route::post('image-upload', 'ImageUploadController@imageUploadPost')->name('image.upload.post');
解决方案
在您的表单中,您使用的是带有 GET 方法的路由,而不是带有 POST 方法的路由。您还使用函数 url 而不是路由。而不是image-upload
它应该是image.upload
一个点.
所以,你应该action="{{url('image-upload')}}"
改为action="{{route('image.upload.post')}}"
这是您的表单的外观:
<form action="{{route('image.upload.post')}}" enctype="multipart/form-data" method="post">
@csrf
<input type="file" name="file">
<input type="submit">
</form>
推荐阅读
- azure-devops - 当作为复杂对象类型参数的一部分传递并与另一个对象合并时,无法识别 Devops yaml 字符串数组
- excel - 在 Excel 中将总计运行到一个值,重置累计总计,然后分组?
- node.js - 在带有 M1 芯片的 MacOS 11.6.1 上的 npm 全局安装出现问题
- r - 我需要进行数据预处理以执行以下操作:
- flutter - 在 vsCode 中运行 dart 终端
- python - 测试功能获取多个文件
- php - 如何选择使用 Laravel Sanctum 进行身份验证?
- python - Kraken API - 帐户余额请求返回 Invalid Nonce
- javascript - 如何避免 .map 跳过空格?
- logback - java 17 logback SMTPAppender: AuthenticationFailedException: 220 准备启动 TLS