我有这个代码来保存一个图像在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文件中设置任何内容
8条答案
按热度按时间rdlzhqv91#
Laravel存储文件系统是如此独特。当你做任何上传时,它会上传到
storage/app/public
目录。要使它在public
目录中可访问,需要做的事情是通过运行命令创建符号链接:此命令会将
storage/app/public
符号链接到public/storage
只要按照文档中关于如何放置和如何检索文件URL的说明操作就可以了。我很肯定你缺少的步骤是创建符号链接。
希望能有所帮助。
oxf4rvwz2#
用户无法访问您存储文件夹
必须通过**Storage::url()**方法传递:
作为:
https://laravel.com/docs/master/filesystem#retrieving-files
zaqlnxep3#
您已经在.env文件中添加了此行
之后,您需要在终端中运行此命令
如果仍然不起作用,则需要在链接之前调用存储目录
xhv8bpkk4#
如果您使用
homestead
作为Mac上的环境,则需要遵循以下步骤:1.删除公用/存储文件夹(如果有)
1.请执行下列步骤:
cd ~homestead
个vagrant up
vagrant ssh
cd Code/PATH_TO_YOUR_APP_ROOT_DIR
php artisan storage:link
1.访问映像,如下所示
{{ asset('storage/img/myimage.jpg') }}
ddarikpa5#
在尝试了几种解决方案后,我修复了它
1.删除符号链接
1.重建符号链接
又成功了
egmofgnx6#
您无法使用储存文件夹进行此动作。您必须将影像移至公用文件夹,才能从http存取。
请尝试在公用文件夹中创建一个名为images的文件夹,并将图像上载到该文件夹。然后,您可以按如下方式访问图像。
vdzxcuhz7#
除了此处的解决方案外,还应注意以下几点:
Storage in laravel says symlink - no such file
Laravel -如何恢复本地存储符号链接和刷新
kognpnkq8#
首先 创建 一 个 符号 链接 :x1月 1 日
查看 存储 所有 图像 的 公共 文件 夹 内部 , 并 在 src 中 提及 这些 文件 夹 名称 , 最 后 从 数据 库 中 提及 您 的 图像 名称 。
示例 :
中 的 每 一 个
或
示例 : 在 浏览 器 中 使用 链接 显示 图像 的 完整 路径
格式