0

我正在尝试将文件上传到最近工作的公共文件夹,但现在显示以下错误:

磁盘 [public] 没有配置的驱动程序。

我尝试在config/filesystems.php中检查配置的驱动程序,但是它已经在那里设置了。我不知道问题可能出在哪里。

上传代码:

public function upload(ProductImageRequest $request, Product $product)
{
    $image = $request->file('file');
    $dbPath = $image->storePublicly('uploads/catalog/'.$product->id, 'public');

    if ($product->images === null || $product->images->count() === 0) {
        $imageModel = $product->images()->create(
            ['path' => $dbPath,
            'is_main_image' => 1, ]
        );
    } else {
        $imageModel = $product->images()->create(['path' => $dbPath]);
    }

    return response()->json(['image' => $imageModel]);
}

config/filesystems.php中的代码

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],
4

1 回答 1

0

我使用此代码移动图片并存储其名称,您可能想试一试

//get icon path and moving it
$iconName = time().'.'.request()->icon->getClientOriginalExtension();
$icon_path = '/category/icon/'.$iconName;
request()->icon->move(public_path('/category/icon/'), $iconName);  
$category->icon = $icon_path;

我通常移动图像然后将其路径存储在数据库中,这就是我的代码显示的内容,您可以根据需要对其进行编辑

于 2020-06-12T19:15:50.527 回答