php-LARAVEL-显示来自存储文件夹的图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-LARAVEL-显示来自存储文件夹的图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2040字,纯文字阅读大概需要3分钟。
内容图文
我是Laravel的新手,我想知道是否有人可以通过简单的图像上传来帮助我.
我有一个表格,允许用户创建个人资料,并在此过程中为其个人资料上传和头像.所有这一切都完美.这是我的控制器中的代码:
if (request()->hasFile('avatar')) {
$file = request()->file('avatar');
$file->storeAs('avatars/' . auth()->id(), 'avatar.jpg');
}
图像保存在storage / app / avatars / USER-ID / avatar.jpg中
我不确定如何显示该文件夹中的图像.我一直在寻找解决方案,但由于它不是我的服务器,因此无法使用php artisan storage:link.在不使用存储链接的情况下该如何处理?我可以手动创建链接吗?
如果有人可以向我解释解决方案,那将是完美的!
只是问您是否需要任何代码片段.
谢谢!
解决方法:
您将需要使用插入控制器的路由来访问受保护的文件,该控制器可以访问文件并将其传递给视图.
我还建议您使用可通过以下方式安装的软件包干预/图像
作曲者需要干预/形象
参见下面的访问图像:
//您在web.php中的路线
// Public route to show user avatar
Route::get('avatars/{id}/{image}', [
'uses' => 'TheNameOfYourController@userProfileAvatar'
]);
//在您的控制器文件中.在此示例中,根据上面的名称,它将为userProfileAvatar()
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Image;
class TheNameOfYourController extends Controller
{
/**
* Show user avatar
*
* @param $id
* @param $image
* @return string
*/
public function userProfileAvatar($id, $image)
{
return Image::make(storage_path() . '/avatars/' . $id . '/' . $image)->response();
}
}
//您的刀片视图以显示图像
<img src="images/profile/{{ \Auth::user()->id }}/avatar.jpg" alt="{{ \Auth::user()->name }}">
这里有一些参考,但是这种情况更进一步,并在上载时将文件路径保存到数据库中:
//路由示例
> https://github.com/jeremykenedy/laravel-auth/blob/master/routes/web.php
//控制器示例
> https://github.com/jeremykenedy/laravel-auth/blob/master/app/Http/Controllers/ProfilesController.php
//查看示例
> https://github.com/jeremykenedy/laravel-auth/blob/master/resources/views/profiles/show.blade.php
> https://github.com/jeremykenedy/laravel-auth/blob/master/resources/views/profiles/edit.blade.php
> https://github.com/jeremykenedy/laravel-auth/blob/master/resources/views/partials/nav.blade.php
内容总结
以上是互联网集市为您收集整理的php-LARAVEL-显示来自存储文件夹的图像全部内容,希望文章能够帮你解决php-LARAVEL-显示来自存储文件夹的图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。