在 Laravel 中,处理文件上传和存储非常简单。以下是一些基本步骤:
<form action="{{ route('file.upload') }}" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="file">
<button type="submit">上传文件</button>
</form>
web.php)中,定义一个路由来处理文件上传请求:Route::post('/upload', 'FileController@upload')->name('file.upload');
FileController),并在其中定义一个 upload 方法来处理文件上传:use Illuminate\Http\Request;
class FileController extends Controller
{
public function upload(Request $request)
{
// 验证文件是否存在
$request->validate([
'file' => 'required|file',
]);
// 处理文件上传
$file = $request->file('file');
$filename = time() . '_' . $file->getClientOriginalName();
$destinationPath = public_path('/uploads');
$file->move($destinationPath, $filename);
// 返回成功信息
return back()->with('success', '文件上传成功!');
}
}
在这个例子中,我们首先验证请求中是否包含文件。然后,我们获取文件对象,生成一个唯一的文件名,并将其移动到指定的目录(在这里是 public/uploads)。最后,我们返回一个成功信息。
注意:在实际应用中,你可能需要根据实际需求对文件名和存储目录进行调整。此外,为了确保安全性,请始终对上传的文件进行验证和过滤。