在 Laravel 8 中,可以使用以下步骤将上传的文件存储在公共文件夹中:
store
方法来处理上传的文件并将其存储在公共文件夹中。示例代码如下:public function uploadFile(Request $request)
{
if ($request->hasFile('file')) {
$file = $request->file('file');
$fileName = $file->getClientOriginalName();
$file->storeAs('public', $fileName);
// 可选:你还可以在数据库中保存文件的相关信息,如文件名、路径等。
return "文件上传成功!";
}
return "没有选择要上传的文件。";
}
enctype
属性为 multipart/form-data
,以支持文件上传。示例代码如下:<form action="/upload" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="file">
<button type="submit">上传文件</button>
</form>
Route::post('/upload', [UploadController::class, 'uploadFile']);
这样,当用户上传文件时,文件将被存储在 public
文件夹中。你可以通过 asset
函数来生成文件的公共访问链接。例如,如果你的文件名为 example.jpg
,你可以使用以下代码来获取文件的公共访问链接:
$url = asset('storage/example.jpg');
这是在 Laravel 8 中将上传的文件存储在公共文件夹中的方法。希望对你有所帮助!如果你想了解更多关于 Laravel 8 的信息,可以参考腾讯云的 Laravel 产品介绍页面:Laravel 产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云