laravel 上传

在 Laravel 中,文件上传通常通过 HTTP 请求和文件系统进行。以下是一个简单的例子,展示了如何在 Laravel 中创建一个用于文件上传的路由和控制器方法。

首先,确保在 .env 文件中配置了以下设置:

FILESYSTEM_DRIVER=public

然后,在 routes/web.php 中添加一个用于上传文件的路由:

Route::post('/upload', 'UploadController@store')->name('upload');

接下来,创建控制器 UploadController。使用 Artisan 命令行工具创建控制器:

php artisan make:controller UploadController

在 app/Http/Controllers/UploadController.php 文件中,添加 store 方法来处理上传:

public function store(Request $request)
{
    if ($request->hasFile('file')) {
        $file = $request->file('file');
        $filename = time() . '.' . $file->getClientOriginalExtension();
        $path = $file->storeAs('uploads', $filename, 'public');
        return response()->json(['success' => true, 'path' => $path]);
    }
    return response()->json(['success' => false]);
}

在你的前端视图中,你需要创建一个表单来上传文件:

<form action="{{ route('upload') }}" method="POST" enctype="multipart/form-data">
    @csrf
    <input type="file" name="file">
    <button type="submit">Upload</button>
</form>

确保你的 JavaScript 代码处理上传请求,并在成功上传后适当地处理响应。

这个例子展示了 Laravel 中文件上传的基本流程。记得在 config/filesystems.php 中配置你的磁盘,并确保已经运行了 php artisan storage:link 命令链接了公共文件夹到 public/storage

您可能还会喜欢: