laravel上传图片 和图片回显
时间: 2023-09-12 16:09:02 浏览: 53
在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的文件存储系统,并且有合适的权限以保存和访问上传的图片。