Почему при попытке разместить URL файла в БД появляется ошибка 500? - PullRequest
0 голосов
/ 14 октября 2019

Не могу понять, почему я получаю ошибку 500 при попытке разместить URL файла в БД. В моих журналах говорится, что мой контроллер не существует, но он существует. Что я делаю не так и как я могу это исправить?

Примечание. Я использую valet open для запуска проекта. Я попытался включить его и использовать php artisan serve, но все равно получаю ту же ошибку.

Вот мой контроллер:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class FileuploadController extends Controller {

    public function store(Request $request) {
        if($request->get('file')) {
            $image = $request->get('file');
            $name = time().'.' . explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1];
            \Image::make($request->get('file'))->save(public_path('images/').$name);
        }

        $fileupload = new Fileupload();
        $fileupload->filename=$name;
        $fileupload->save();

        return response()->json('Successfully added');
    }
}

Вот мои маршруты:

<?php

Route::get('/', function () {
    return view('welcome');
});

Route::post('/', 'FileuploadController@store');

Вот мой почтовый запрос (реаги.js)

import React, { Component } from 'react';
import axios from 'axios';

export default class FileUploadComponent extends Component
{
    constructor(props) {
        super(props);
        this.state ={
            image: ''
        };
        this.onFormSubmit = this.onFormSubmit.bind(this)
        this.onChange = this.onChange.bind(this)
        this.fileUpload = this.fileUpload.bind(this)
    }

    onFormSubmit(e){
        e.preventDefault();
        this.fileUpload(this.state.image);
    }

    onChange(e) {
        let files = e.target.files || e.dataTransfer.files;
        if (!files.length)
            return;
        this.createImage(files[0]);
    }

    createImage(file) {
        let reader = new FileReader();
        reader.onload = (e) => {
            this.setState({
                image: e.target.result
            })
        };
        reader.readAsDataURL(file);
    }

    fileUpload() {
        const url = '/';
        axios.post(url).then(response => {
            console.log(response);

            this.setState({
                file: this.state.image
            });
        });
    }

    render() {
        return(
            <form onSubmit={this.onFormSubmit}>
                <h1>React js Laravel File Upload Tutorial</h1>
                <input type="file"  onChange={this.onChange} />
                <button type="submit">Upload</button>
            </form>
        )
    }
}

Вот ошибка в логах:

local.ERROR: Target class [App\Http\Controllers\FileuploadController.php] does not exist. {"exception":"[object] (Illuminate\\Contracts\\Container\\BindingResolutionException(code: 0): Target class [App\\Http\\Controllers\\FileuploadController.php] does not exist. at /Users/user/workstation/reactlaravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:806)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...