我在我的一个食谱应用程序中上传了一张图片,到目前为止,它一直工作得很好。它突然坏了,只有当我不上传图片并让它恢复到默认的"noimage.jpg“时,它才允许我发布我的食谱。有没有人能看看我的逻辑,看看我哪里出问题了?我不明白哪里出问题了。谢谢。
控制器存储函数
// 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的刀片视图
<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>
如果您需要查看更多代码,请告诉我。谢谢
发布于 2019-04-23 03:18:17
尝试将表单的enctype
属性设置为multipart/form-data
。
<form method="POST"
action="{{ action('RecipesController@store') }}"
id="submitRecipeForm"
enctype="multipart/form-data">
...
发布于 2019-04-23 02:51:56
试一试:
php artisan cache:clear
https://stackoverflow.com/questions/55798719
复制相似问题