我有这个代码将图像保存在storage / app / uploads文件夹中
$image_main = Image::where('property_id', $id)->get();
$file = $request->file('file');
$destinationPath = 'uploads';
$i = 0;
foreach ($file as $file1) {
$i++;
$extension = $file1->getClientOriginalExtension();
$path = $file1->storeAs(
$destinationPath, $i.time().".".$extension
);
这是我的刀片文件
@foreach ($image_main as $images)
<img src="{{"/storage/app/".$images->filename}}
该文件保存在storage / app / uploads文件夹中,但它没有显示给用户,表示找不到文件。我要在filesystems.php文件中设置任何内容
答案 0 :(得分:1)
Laravel存储文件系统非常独特。当您进行任何上传时,它将上传到storage/app/public
目录。那么如何在public
目录中访问它。需要做的是通过运行命令创建符号链接:
php artisan storage:link
因此文件夹storage/app/public
会符号链接到public/storage
关注如何放置以及如何检索文件网址documentation。我很确定您缺少的步骤是创建符号链接。
希望它有所帮助。
答案 1 :(得分:1)
如果您将homestead
用作Mac上的环境,则需要遵循此条件
1. Delete your public/storage folder (if any)
2. Follow these
1. ssh into your homestead using below command
2. cd ~homestead
3. vagrant up
4. vagrant ssh
5. cd Code/PATH_TO_YOUR_APP_ROOT_DIR
6. php artisan storage:link
3. access image like this {{ asset('storage/img/myimage.jpg') }}
答案 2 :(得分:1)
除了这里的解决方案,请注意以下几点:
答案 3 :(得分:0)
无法从用户访问您的存储文件夹。
您必须通过 Storage :: url()方法:
Storage::url("/storage/app/{$images->filename}")
如:
<img src="{{ Storage::url("/storage/app/{$images->filename}") }}" alt="{{ $images->filename }}" />
答案 4 :(得分:0)
您无法使用存储文件夹。您需要将图像移动到公共文件夹以从http。
访问尝试在公用文件夹中创建文件夹调用图像,并将图像上载到该文件夹。然后您可以按如下方式访问图像。
<img src="{{ public_path('images/image-name.png')}}" alt="" />
答案 5 :(得分:0)
您已将此行添加到.env文件中
FILESYSTEM_DRIVER = public
之后,您需要在终端中运行此命令
php artisan storage:link
如果仍然无法使用,则需要在链接之前调用存储目录
<img src="{{ asset('storage/'.$post->image) }}" width="120px" hight="120px" alt="">
答案 6 :(得分:0)
试试这个方法,它会 100% 奏效。
首先创建一个符号链接:php artisan storage:link
查看存储所有图像的公共文件夹,并在 src 中提及这些文件夹名称,并从数据库中找到您的图像名称。
示例:
<img src="/images/posts/{{$post->featured_image}}">
或
示例:在浏览器中使用链接显示图像的完整路径
<img src="{{asset('/images/posts/'.$post->featured_image)}}">