如何解决在视图中显示图像Laravel 6
我无法在视图中的标签img中显示图像。我可以将上传的图像保存在存储->应用程序->公共->书籍中,并将图像名称也保存在数据库中。但是在运行 php artisan storage:link 以访问 public-> storage 中的文件之后,但是无论我使用asset()还是url()方法,我都可以不能在img标签中显示我的图像,只是alt =“”属性,有人知道我做错了吗?
这是我的Controller store()。
delete require.cache[module.id];
这是我要显示的html。
public function store(Request $request)
{
// Handle File Upload
if($request->hasFile('book_image')){
// Get filename with the extension
$filenameWithExt = $request->file('book_image')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt,PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('book_image')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $filename.'_'.time().'.'.$extension;
// Upload Image
$path = $request->file('book_image')->storeAs('books',$fileNameToStore);
} else {
$fileNameToStore = 'noimage.png';
}
//save in database
$itens = \App\Book::create([
'book_name' => mb_strtolower($request->book_name),'author_name' => mb_strtolower($request->author_name),'publishing_name' => mb_strtolower($request->publishing_name),'description' => $request->description,'release_date' => $request->release_date,'category' => mb_strtolower($request->category),'book_image' => $fileNameToStore
]);
flash('Livro criado com sucesso !')->success();
return redirect()->route('admin.books.index');
}
还有我的config-> filesystems.php
@foreach($books as $book)
<tr>
<td><input type="checkbox" class="checkthis" /></td>
<td>
<img style="width: 80px;height: 80px" src="{{ url('books/{$book->book_image}') }}" alt="{{$book->book_image}}">
</td>
<td>{{$book->book_name}}</td>
<td>{{$book->author_name}}</td>
<td>{{$book->publishing_name}}</td>
<td>{{$book->release_date}}</td>
<td>
</tr>
解决方法
您需要通过src,如下所示。
src="{{ url('books/'.$book->book_image) }}"
作为存储文件夹
src="{{ asset('storage/books/'.$book->book_image) }}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。