Код: Выделить всё
use Filament\Tables\Columns\SpatieMediaLibraryImageColumn;
use Filament\Forms\Components\SpatieMediaLibraryFileUpload;
class ProductResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
SpatieMediaLibraryFileUpload::make('main_image')
->image()
->required()
->previewable(true)
->collection('main_image')
->columnSpanFull(),
SpatieMediaLibraryFileUpload::make('additional_images')
->image()
->multiple()
->columnSpanFull()
->collection('additional_images')
->previewable(true)
->maxFiles(3),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
SpatieMediaLibraryImageColumn::make('main_image')
->collection('main_image'),
])
}
}
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Product extends Model implements HasMedia
{
use HasFactory, InteractsWithMedia;
public function registerMediaCollections(): void
{
$this->addMediaCollection('main_image')
->useDisk('public') // Disk untuk penyimpanan
->singleFile(); // Hanya satu file untuk koleksi ini
$this->addMediaCollection('additional_images')
->useDisk('public'); // Disk untuk penyimpanan
}
}
< /code>
и файловая система выглядит примерно так < /p>
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'serve' => true,
'throw' => false,
],
'products_disk' => [
'driver' => 'local',
'root' => public_path('img/products'),
'url' => env('APP_URL') . '/img/products',
'visibility' => 'public',
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
'throw' => false,
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
],
],
< /code>
Но изображение все еще не появляется. for app_url in my .env file is APP_URL=http://127.0.0.1:8000/
when i preview the item it look like this
preview item
I have done php artisan config:cache and php artisan cache:clear and re-entered the data but the result is still the То же самое
Я также попробовал некоторую документацию из Spatie Filament, но это все еще не работает.>
Подробнее здесь: https://stackoverflow.com/questions/793 ... laravel-11