Laravel route method problems

Takamasa Yoshizawa :

Basic Information

I' developing a simple Web Application using Laravel6.0.
And I made image post form at my create2.blade.php (blade file) file.
But my form seems to be having a routing Problem.

Problem

The error message that annoying me.

My Codes

routes/web.php

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('login');

Route::group(['middleweare' => 'auth'], function () {
    Route::get('/', 'StoriesController@index');
    Route::post('/', 'StoriesController@index');

    Route::post('/stories/create', 'StoriesController@store');
    Route::post('/stories/create', 'StoriesController@upload');
    Route::get('/stories/create', 'StoriesController@add');
    Route::post('/stories/create', 'StoriesController@add');
});

Route::group(['middleweare' => 'auth','name'=>'profile'], function () {
    Route::get('/profile/edit', 'ProfileController@edit');
    Route::get('/profile/create', 'ProfileController@add');
    Route::post('/profile/create', 'ProfileController@add');
    Route::post('/profile/create', 'ProfileController@store');
    Route::post('/profile/create', 'ProfileController@upload');
});

Route::get('/home', 'HomeController@index')->name('home');

Auth::routes();

app/Http/Controllers/StoriesController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Story;
use Auth;
use App\Posts;
use App\History;
use App\Attachment;
use Carbon\Carbon;
use Storage;

class StoriesController extends Controller
{

  public function __construct()
    {
      $this->middleware('auth');
    }

  public function index(Request $request)
      {
        $images = Attachment::all();

        return view('stories.index2', compact('images'));
      }

  public function add()
    {
      return view('stories.create2');
    }


  public function store(Request $request)
  {

    $d = new \DateTime();
    $d->setTimeZone(new \DateTimeZone('Asia/Tokyo'));
    $dir = $d->format('Y/m');
    $path = sprintf('public/images/%s', $dir);


    $data = $request->except('_token');

    foreach ($data['images'] as $k => $v) {

      $filename = '';


      $attachments = Attachment::take(1)->orderBy('id', 'desc')->get();

      foreach ($attachments as $attachment) {

        $filename = $attachment->id + 1 . '_' . $v->getClientOriginalName();
      }
      unset($attachment);

      if ($filename == false) {
        $filename = 1 . '_' . $v->getClientOriginalName();
      }

      $v->storeAs($path, $filename);

      $attachment_data = [
        'path' => sprintf('images/%s/', $dir),
        'name' => $filename
      ];

      $a = new Attachment();
      $a->fill($attachment_data)->save();
    }

    unset($k, $v);

    return redirect('/');
  }


  public function upload(Request $request)
    {
      $this->validate($request, [
        'file' => [
          'required',
          'file',
          'image',
          'mimes:jpeg,png',
        ]
      ]);

      if ($request->file('file')->isValid([])) {
        $path = $request->file->store('public');
        return view('stories.index2')->with('filename', basename($path));
      } else {
        return redirect('/')
          ->back()
          ->withInput()
          ->withErrors();
      }
    }
}

resources/views/stories/create2.blade.php

@extends('layouts.front2')
@section('title','StoryCreate')

@section('content')
<link href="{{ asset('/css/main22.css' )}}" rel="stylesheet">

<div class="poststory">
    <h1>Post Story</h1>
</div>
@if ($errors->any())
<ul>
    @foreach($errors->all() as $error)
    <li>{{ $error }}</li>
    @endforeach
</ul>
@endif
<form action="{{ url('/') }}" method="POST" enctype="multipart/form-data">

    <div class="form">
        <label for="photo" class="file">Choose Image or Video</label>
        <div class="post">
            <input type="file" class="here" name="images[]">

        </div>
    </div>
    <br>
    </div>

    {{ csrf_field() }}
    <div class="post">
        <div class="btn postbtn">
            <input type="submit" value="post" />
        </div>
    </div>
</form>

@endsection

resources/views/stories/index2.blade.php

@extends('layouts.front2')
@section('title','mainpage')

@section('content')
<div class="profile">

    <div class="profileimg">
        @foreach ($images as $image)
        <img src="/storage/{{ $image->path . $image->name }}" style="height: 210px; width: 210px; border-radius: 50%;">
        @endforeach
    </div>

    <div class="name">
        @guest
        <a class="nav-link2" href="{{ route('register')}}">{{ __('Create Accout!')}}</a>
        @else
        <a id="navbarDropdown" class="nav-link2" href="#" role="button">
            {{Auth::user()->name}}<span class="caret"></span></a>



        <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
            @csrf
        </form>
    </div>
    @endguest


    <div class="aboutme">
        You can write your profile here!You can write your profile here!You can write your profile here!
        You can write your profile here!You can write your profile here!You can write your profile here!
        You can write your profile here!You can write your profile here!You can write your profile here!
        You can write your profile here!You can write your profile here!You can write your profile here!
        You can write your profile here!You can write your profile here!You can write your profile here!
    </div>

</div>

<div class="new">

    <div class="newtitle">
        <h1>New</h1>
    </div>

    <div class="container1">

        @foreach ($images as $image)
        <img src="/storage/{{ $image->path . $image->name }}" class="images" style="height: 150px; width: 150px; border-radius: 50%;">
        @endforeach
        <div class="more">
            more...
        </div>
    </div>

</div>

<div class="stories">

    <div class="titlestories">
        <h1>Stories</h1>
    </div>

    <div class="container2">

        <div class="titleclose">
            <h2>#CloseFriends</h2>
        </div>

        @foreach ($images as $image)
        <img src="/storage/{{ $image->path . $image->name }}" class="images" style="height: 150px; width: 150px; border-radius: 50%;">
        @endforeach

        <div class="titlefollow">
            <h2>#Follows</h2>
        </div>


    </div>
</div>

{{ csrf_field() }}
@endsection

What I tried.

I cleared the caches using this command,

$php artisan route: clear

and I' made a new cache using

$composer dump-autoload
$php artisan clear-compiled
$php artisan optimize
$php artisan config:cache

and I update my composer using this command

$composer update


but nothing has changed.

Sorry for my terrible English. Waiting your comments and Answers!

Sehdev :

You are submitting your from to {{ url('/') }} using POST method that means it is submitting as a POST to / route and your / route is defined by GET method in your web.php that is why you are getting this error

<form action="{{ url('/') }}" method="POST" enctype="multipart/form-data">

Route::get('/', 'StoriesController@index');

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=16967&siteId=1