база данных < /p>
Я также сделал PHP Artisan Storage: Link и Image успешно ввели общественное - хранение и хранение - Приложение - Общественные папки < /p >
для ресурсов нити, таких как ниже < /p>
Код: Выделить всё
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>
Но изображение все еще не появляется. Для APP_URL в моем файле .env app_url = http: //127.0.0.1: 8000/
Когда я предварительно просмотр, он выглядит так
preview. < /p>
Я сделал PHP Artisan Config: Cache и PHP Artisan Cache: очистить и повторно въехали данные, но результат остается одним и тем же < /p>
i также попробовали некоторую документацию из Spatie Filament, но она все еще не работает.
Надеюсь, есть решение моей проблемы
Подробнее здесь: https://stackoverflow.com/questions/793 ... laravel-11