1

我第一次在 Nova 中使用 Image 字段,发现预览没有显示。

我正在将 DigitalOcean Spaces 与 S3 驱动程序一起用于相关磁盘。似乎文件是使用私有权限上传的,因此无法访问预览 URL。

目前我有一个简单的图像字段:

Image::make('Image')
  ->disk('spaces')
  ->storeOriginalName('image_name')
  ->storeSize('image_size')
  ->store(new PublicUpload),

那是使用一个看起来像这样的“可调用”类(PublicUpload):

<?php

namespace App\Nova;

use Illuminate\Http\Request;

class PublicUpload
{
    public function __invoke(Request $request, $model, $attribute, $requestAttribute, $disk, $storagePath)
    {
        $currentFile = $request->file($attribute);

        return [
            $attribute => $currentFile->storePublicly($storagePath)
        ];
    }
}

但是,StorePublicly似乎并没有按照我的设置方式完成工作。图片上传到 Spaces 存储,但仍设置为“私有”。

我意识到我可能只是创建一个路由来更改 Nova 中的预览 URL,但我没有理由私下存储这些文件,我知道这应该是可能的。

我将不胜感激任何帮助或建议。提前致谢。

4

0 回答 0