laravel 本地文件上传阿里云OSS
时间: 2023-10-12 17:10:32 浏览: 281
Laravel开发-ali-oss-storage
可以使用 Laravel 的 Flysystem 扩展来实现本地文件上传到阿里云OSS的功能。具体步骤如下:
1. 安装 Flysystem 扩展:
```
composer require league/flysystem-aws-s3-v3
```
2. 在 config/filesystems.php 文件中添加以下配置:
```php
'disks' => [
// 其他磁盘配置
'oss' => [
'driver' => 's3',
'key' => 'your-oss-key',
'secret' => 'your-oss-secret',
'region' => 'oss-cn-hangzhou',
'bucket' => 'your-oss-bucket',
'endpoint' => 'https://your-oss-endpoint',
],
],
```
3. 在上传文件的控制器中使用以下代码上传文件:
```php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class UploadController extends Controller
{
public function upload(Request $request)
{
$path = $request->file('file')->store('path/to/file', 'oss');
// 返回文件在 OSS 上的路径
return Storage::disk('oss')->url($path);
}
}
```
在上传文件时,将文件上传到指定的路径并使用 oss 磁盘进行存储,最后返回文件在 OSS 上的路径。
需要注意的是,在使用此方法上传文件时,需要在阿里云 OSS 控制台中创建对应的 bucket,并开启 bucket 的访问权限。同时,需要正确配置 endpoint,否则可能会导致上传失败。
阅读全文