Загрузка сломанного изображения Laravel 5.8 - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть загрузка изображений в одном из моих приложений рецепта, которая до этого момента работала нормально.Он внезапно сломался, и я могу опубликовать свой рецепт только в том случае, если я не загружу изображение и вернусь к значению по умолчанию «noimage.jpg».Может ли кто-нибудь взглянуть на мой ogic и посмотреть, где я иду не так?Я не понимаю, где это ломается.Спасибо.

Функция хранилища контроллера

// Handle File Upload 
        if($request->hasfile('recipeImage')){
            // Get filename with extension
            $fileameWithExt = $request->file('recipeImage')->getClientOriginalName();
            // Get just filename
            $filename = pathinfo($fileameWithExt, PATHINFO_FILENAME);
            // Get just extension
            $extension = $request->file('recipeImage')->getClientOriginalExtension();
            // Filename to store
            $fileNameToStore = $filename . '_' . time() . '.' . $extension;
            // Upload Image
            $path = $request->file('recipeImage')->storeAs('public/recipe_images', $fileNameToStore);
        } else {
            $fileNameToStore = 'noimage.jpg';
        }


        $recipe = new Recipe;
            $recipe->author = auth()->user()->username;
            $recipe->title = $request->input('title');
            $recipe->description = $request->input('description');
            $recipe->ingredients = $request->input('ingredients');
            $recipe->directions = $request->input('directions');
            $recipe->recipeImage = $fileNameToStore;
            $recipe->prepTime = $request->input('prepTime');
            $recipe->cookTime = $request->input('cookTime');
            $recipe->servings = $request->input('servings');
            $recipe->calories = $request->input('calories');
            $recipe->user_id = auth()->user()->id;
            $recipe->save();

Вид лезвия с формой

<form method="POST" action="{{ action('RecipesController@store') }}" id="submitRecipeForm">
    <div class="photoUploadInput">
                    <label for="imageUpload">
                        <input type="file" id="imageUpload" name="recipeImage">
                    </label>
                    <span>Add a photo of your recipe!</span>
                </div>

Дайте мне знать, если вам нужноувидеть больше кода.Спасибо

Ответы [ 2 ]

2 голосов
/ 22 апреля 2019

Попробуйте установить атрибут enctype вашей формы на multipart/form-data.

<form method="POST" 
    action="{{ action('RecipesController@store') }}" 
    id="submitRecipeForm" 
    enctype="multipart/form-data">
...
1 голос
/ 22 апреля 2019

Дайте этому шанс:

php artisan cache:clear
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...