获取/读取laravel 5.8存储要查看的非公用文件夹文件?

埃斯坎德尔一号

尝试从我的视图访问“ storage / app / folder1 / a.png”

在此处输入图片说明

public function viewStorageFiles()
{
    $fileFullPath = Storage::disk('local')->path('folder1/a.png');
    $fileUrl = Storage::disk('local')->url('app/folder1/a.png');
    $storage_path = storage_path('app/folder1/a.png');

    return view('email.fileDownload')->with([
        'fileFullPath' => $fileFullPath,
        'fileUrl' => $fileUrl,
        'storage_path' => $storage_path,
        ]);
}

查看中:email.fileDownload

<div>
    <p>  asset($fileUrl) ==> {{asset($fileUrl)}}</p>
    <img src="{{asset($fileUrl)}}"/>
</div>
<div>
    <p>  url($fileUrl) ==> {{url($fileUrl)}}</p>
    <img src="{{url($fileUrl)}}"/>
</div>
<div>
    <p>  storage_path($fileUrl) ==> {{storage_path($fileUrl)}}</p>
    <img src="{{storage_path($fileUrl)}}"/>
</div>

结果是: 在此处输入图片说明

Muzafar Ali |

对此可能会有很多答案!

您可以create a symbolic link from "public/storage" to "storage/app/public"使用以下命令:

php artisan storage:link

上面的命令会将您的storage/app/public目录映射public目录。

现在,让我们考虑一下目录中是否有user1.jpguser2.jpg文件storage/app/public,您可以通过以下方式访问它们:

http://your-domain.com/storage/user1.jpg
http://your-domain.com/storage/user2.jpg

*根据您的评论更新了我的答案:*

您可以从受某些中间件保护的路由返回文件响应!

例如,以下路由从storage/app/uploads无法公开访问的目录返回文件响应

Route::get('storage/{file}', function ($file) {
    $path = storage_path('app' . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . $file);
    return response()->file($path);
});

无论如何,您都可以固定在上述路线上,并在您的视图中使用它。

希望对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将图像保存在公用文件夹中而不是存储laravel 5

Laravel:存储不将文件放在公用文件夹中

如何在Laravel 5中将公用文件夹更改为public_html

在Laravel 5中恢复存储文件夹

更改 Laravel 8 上的公用文件夹

如何从公用文件夹Laravel获取文件列表

Laravel 5 Models文件夹

Laravel,保护文件夹公用文件夹中

如何在Laravel 5中使用输入名称创建存储文件夹和子文件夹

Laravel 5-从存储文件夹加载视图刀片文件

更改Laravel 5.1的公用文件夹

Laravel公用文件夹Php工匠

Laravel公用文件夹禁止

在视图文件中显示存储在公用文件夹外部的图像-Laravel

Laravel 8:如何删除存储文件夹中的文件

Laravel 5.6:通过AJAX将图像存储到公用文件夹中

使用HTML5读取/访问AppData文件夹

Rails 5:如何在公用文件夹中获取错误页面,以使其他语言环境显示除“ en”以外的其他内容?

重命名 Laravel 公用文件夹中的文件

Laravel:如何在Laravel中找到公用文件夹?

在Laravel中,如何获取公用文件夹中所有文件的列表?

Laravel公用文件夹显示500 Internal Server Error

如何从Laravel的公用文件夹中调用模型?

laravel如何首先重定向到公用文件夹?

在Laravel中访问公用文件夹中的图像

重定向到流明(Laravel)上的公用文件夹

如何重定向到Laravel上的公用文件夹

在laravel 4.2中限制对公用文件夹的访问

Laravel 中意外删除的公用文件夹