Laravel 上传图片及页面展示

Laravel 上传图片及页面展示

网上资料实在太乱,想找个真实好用的代码真的太难了,我讨厌那些弯弯绕绕的繁琐,还有那些收费的,这里有你需要的最好,希望少走弯路,祝君事业有成。

1、下面为 Controller 里上传功能代码:

// Controller 里上传部分代码
public function store(Request $request)
{
	// validate 校验上传文件是否为图片类型
	// 手册地址:https://learnku.com/docs/laravel/8.x/validation/9374#rule-image
	$request->validate([
		'image' => 'bail|required|image',
	]);
	
	// 验证上传的文件是否有效
	if (!$request->file('image')->isValid()) {
         return back()->withErrors('上传的文件无效,请检查目录保存权限!')->withInput();;
   	}
	// 上传文件,并将图片存储到 storage\app\public 目录下
	$image = $request->file('image')->store('image', 'public');
	// 这里的$image 就是上传图片信息
	//比如:image/fEdT0zhSGyMadGDnkfI0LPexENDs2SHl1Kbz5Iq5.jpg
}

2、下面为页面展示图片代码:

<img src="{{ asset('storage/' . $row->image) }}">

3、最重要的事情来了,必须执行该步骤,页面图片才会显示:

phpstorm 执行命令: php artisan storage:link

这里其实就是在public下创建软连接,或者叫快捷方式,执行后目录下会多了一个文件,见下图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 如果你的phpstorm无法执行命令,可能没有配置php环境,需要在系统环境变量的PATH里加上php环境变量;有问题 欢迎留言0.0

下面是手册相关截图:

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel上传图片并回显,你可以按照以下步骤进行操作: 1. 在表单中添加文件上传字段: ```html <form method="POST" action="/upload" enctype="multipart/form-data"> @csrf <input type="file" name="image"> <button type="submit">上传图片</button> </form> ``` 2. 在路由中定义上传图片的处理逻辑: ```php use Illuminate\Http\Request; Route::post('/upload', function (Request $request) { if ($request->hasFile('image')) { $path = $request->file('image')->store('public/images'); // 存储的路径为 "storage/images/filename" // 如果你想要访问图片,可以将路径存储到数据库,并使用 Storage::url() 获取完整路径 // 也可以直接拼接 URL,例如:$url = '/storage/images/' . $request->file('image')->hashName(); return redirect()->back()->with('success', '图片上传成功'); } return redirect()->back()->with('error', '请选择要上传的图片'); }); ``` 3. 在视图中回显上传的图片: ```html @if(session('success')) <div class="alert alert-success">{{ session('success') }}</div> @endif @if(session('error')) <div class="alert alert-danger">{{ session('error') }}</div> @endif @if(isset($url)) <img src="{{ $url }}" alt="Uploaded Image"> @endif ``` 上述代码中,`$url` 是存储图片路径的变量,可以在控制器中把它传递给视图。使用`$url`作为图片的`src`属性值,图片就会回显在页面上。 请确保在进行文件上传时,已经配置好了Laravel的文件存储系统,并且有合适的权限以保存和访问上传的图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值