首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel 5.8破损图片上传

Laravel 5.8破损图片上传
EN

Stack Overflow用户
提问于 2019-04-23 01:51:28
回答 2查看 578关注 0票数 0

我在我的一个食谱应用程序中上传了一张图片,到目前为止,它一直工作得很好。它突然坏了,只有当我不上传图片并让它恢复到默认的"noimage.jpg“时,它才允许我发布我的食谱。有没有人能看看我的逻辑,看看我哪里出问题了?我不明白哪里出问题了。谢谢。

控制器存储函数

代码语言:javascript
复制
// 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的刀片视图

代码语言:javascript
复制
<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>

如果您需要查看更多代码,请告诉我。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-23 03:18:17

尝试将表单的enctype属性设置为multipart/form-data

代码语言:javascript
复制
<form method="POST" 
    action="{{ action('RecipesController@store') }}" 
    id="submitRecipeForm" 
    enctype="multipart/form-data">
...
票数 2
EN

Stack Overflow用户

发布于 2019-04-23 02:51:56

试一试:

代码语言:javascript
复制
php artisan cache:clear
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55798719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档