我第一次在 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,但我没有理由私下存储这些文件,我知道这应该是可能的。
我将不胜感激任何帮助或建议。提前致谢。