Laravel 文件操作:获取上传文件
在 Laravel 中,你可以使用请求(Request)实例提供的方法来获取上传的文件。以下是一个简单的例子,展示了如何在控制器方法中获取上传的文件并进行处理:
use Illuminate\Http\Request;
public function uploadFile(Request $request)
{
if ($request->hasFile('file')) {
$file = $request->file('file');
// 文件验证
$validatedData = $request->validate([
'file' => 'required|file|max:2048', // 最大文件大小2MB
]);
// 文件上传
$fileName = time().'_'.$request->file->getClientOriginalName();
$filePath = $request->file('file')->storeAs('uploads', $fileName, 'public');
// 存储文件信息到数据库或执行其他逻辑
// ...
return back()->with('success', '文件上传成功。');
}
return back()->with('error', '请选择要上传的文件。');
}
在这个例子中,我们假设你有一个表单,用户可以通过它上传文件,表单的文件输入字段名为 file
。我们首先检查请求中是否包含名为 file
的文件,然后使用验证规则来确保文件是存在且不超过指定大小。接着,我们使用 storeAs
方法将文件存储到 public/storage/uploads
目录下,并为文件命名以避免重名。最后,你可以将文件信息存储到数据库或执行其他逻辑。
评论已关闭