herokuでの画像ファイルパスを変更したい
解決したいこと
開発環境では画像をpublicに保存できていましたが、herokuにデプロイしてからHTMLのimgが読み込まれません。
heroku openで画像を読み込む方法を、ご教授いただきたいです。
resourceコントローラののeditで画像を保存できるように作成しました。
ググったところ、base64のパスに書き換えるとあるのですが、理解不足でつまづいています。。。
GroupController
public function edit($id)
{
$group = \App\Group::find($id);
return view('group.edit', compact('group'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\group $group
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
// Validator check
$rules = [
'name' => 'required',
];
$messages = [
'name.required' => 'ユーザー名が未入力です',
];
$validator = Validator::make($request->all(),$rules,$messages);
if($validator->fails()){
return redirect()->route('group.edit')//?
->withErrors($validator)
->withInput();
}
$uploadfile = $request->file('picture');
if(!empty($uploadfile)){
$picturename = $request->file('picture')->hashName();
$request->file('picture')->storeAs('public/group', $picturename);
$group = Group::find($id);
$group->name = $request->name;
$group->picture = $picturename;
$group->content = $request->content;
$group->amount = $request->amount;
$group->activity_frequency = $request->activity_frequency;
$group->keyword = $request->keyword;
$group->save();
}else{
$group = Group::find($id);
$group->name = $request->name;
$group->content = $request->content;
$group->amount = $request->amount;
$group->activity_frequency = $request->activity_frequency;
// $group->keyword = $request->keyword;
$group->save();
}
// Group::where('id',$request->id)->update($group);
return redirect(route('group.index'))->with('success', '保存しました。');
}
edit.blade.php
<form action="{{ route('group.update',$group->id) }}" method="POST" enctype='multipart/form-data'>
@csrf
@method('patch')
<input type="hidden" name="id" value="{{ $group->id }}">
<div class="labelTitle">団体名</div>
<div class="col-md-6 offset-md-3">
<input id="name" type="text" class="form-control border-success" name="name" value="{{ old('name',$group->name) }}">
</div>
<div class="labelTitle">画像</div>
<div class="col-md-6 offset-md-3">
<input type="file" name="picture">
</div>
例)
show.blade.php
<div class="topPicture">
@if(!empty($group->picture))
<img src="/storage/group/{{ $group->picture }}" class="editPicture">
@else
<img src="/storage/nothing.png" class="editPicture" alt="文字の代替">
@endif
</div>
php:7.4.5
laravel/framework:7.18.0
mysql: 8.0.22 for osx10.13 on x86_64 (Homebrew)
mac(linux)
0