📅  最后修改于: 2023-12-03 14:51:33.703000             🧑  作者: Mango
在开发 Web 应用程序时,可能需要在请求正文中发送图像。使用 Laravel 6,在请求正文中发送图像非常容易,可以使用如下的步骤来实现。
首先,在表单视图中添加一个文件输入字段。例如:
<form method="POST" action="/image-upload" enctype="multipart/form-data">
{{ csrf_field() }}
<input type="file" name="image" accept="image/*">
<button type="submit">上传图像</button>
</form>
这将创建一个包含一个文件输入字段和一个提交按钮的表单。请注意,我们必须设置 enctype 属性为 "multipart/form-data" 以支持文件上传。
接下来,我们需要创建一个路由来处理上传请求。例如:
Route::post('/image-upload', function(Request $request) {
$image = $request->file('image');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = $image->storeAs('public/images', $filename);
return response()->json(['path' => $path]);
});
此代码首先从请求中获取上传的图像文件,然后为文件生成一个唯一的文件名。接下来,它将文件保存到 Laravel 的存储系统中,然后返回一个 JSON 响应,其中包含图像的路径。
请注意,我们可以使用 Laravel 的 storeAs() 方法轻松地将文件保存到存储系统中。此方法使我们无需手动管理文件名和存储路径。
最后,我们可以在视图中使用上传的图像。例如:
<img src="{{ asset($path) }}">
此代码将从存储系统中加载上传的图像,并将其显示在网页上。
综上所述,使用 Laravel 6 在请求正文中上传和显示图像非常容易。只需添加一个文件输入字段,处理上传请求,然后在视图中使用上传的图像即可。