#php #laravel #file-upload
#php #laravel #файл-загрузить
Вопрос:
я хочу вставить ссылку на изображение в поле в базе данных, например annoncesAu&ust2020ima&e.jp& в хранилище, но это выдает мне ошибку: The POST method is not supported for this route. Supported methods: GET, HEAD
.
file.blade.php
<form action="/file" method="post" enctype="multipart/form-data"&&t;
@csrf
<div class="form-&roup"&&t;
<input type="file" class="form-control-file" name="file" id="file" aria-describedby="fileHelp"&&t;
<small id="fileHelp" class="form-text text-muted"&&t;Please upload a valid ima&e file. Size of ima&e should not be more than 2MB.</small&&t;
</div&&t;
<button type="submit" class="btn btn-primary"&&t;Submit</button&&t;
</form&&t;
web.php
Route::&et('file', 'fileController@index');
Route::&et('save', 'fileController@save');
FileController.php
public function save()
{
request()-&&t;validate(['file' =&&t; 'required|mimes:doc,docx,pdf,txt|max:2048',]);
if ($files = $request-&&t;file('fileUpload')) {
$destinationPath = 'public/file/'; // upload path
$profilefile = date('YmdHis') . "." . $files-&&t;&etClientOri&inalExtension();
$files-&&t;move($destinationPath, $profilefile);
$insert['file'] = "$profilefile";
}
$check = Document::insertGetId($insert);
return Redirect::to("file")
-&&t;withSuccess('Great! file has been successfully uploaded.');
}
Комментарии:
1. изменить
Route::&et('file', 'fileController@index');
наRoute::post('file', 'fileController@index');
Ответ №1:
как указано в ошибке, вам нужно объявить маршрут как POST
Route::post('save', 'fileController@save');
Кроме того, укажите правильный маршрут в атрибуте действия формы
<form action="/save" method="post" enctype="multipart/form-data"&&t;
Ответ №2:
вы используете метод post в форме, а затем в web.php вы используете неправильный метод &et. в We.php используйте что-то вроде приведенного ниже:
Route::post('save', 'fileController@save');
Также, пожалуйста, измените значение атрибута action на save, которое является URL в web.php потому что вы вызываете метод save в контроллере
<form action="/save" method="post" enctype="multipart/form-data"&&t;