Pilote [] n'est pas pris en charge. - Laravel 5.3
Je suis en utilisant backpackforlaravel pour configurer le backend de mon site web. J'ai ajouté un champ d'image dans mon ProjectCrudController:
$this->crud->addField([
'label' => "Project Image",
'name' => "image",
'type' => 'image',
'upload' => true,
], 'both');
Dans mon Modèle Projet j'ai un mutateur comme ceci:
public function setImageAttribute($value)
{
$attribute_name = "image";
$disk = "public_folder";
$destination_path = "uploads/images";
//if the image was erased
if ($value==null) {
//delete the image from disk
\Storage::disk($disk)->delete($this->image);
//set null in the database column
$this->attributes[$attribute_name] = null;
}
//if a base64 was sent, store it in the db
if (starts_with($value, 'data:image'))
{
//0. Make the image
$image = \Image::make($value);
//1. Generate a filename.
$filename = md5($value.time()).'.jpg';
//2. Store the image on disk.
\Storage::disk($disk)->put($destination_path.'/'.$filename, $image->stream());
//3. Save the path to the database
$this->attributes[$attribute_name] = $destination_path.'/'.$filename;
}
}
Dans mon public dossier que j'ai /uploads/images/ dossier.
Mais quand je veux enregistrer un Projet, j'obtiens l'erreur suivante:
InvalidArgumentException dans FilesystemManager.php la ligne 121:
Pilote [] n'est pas pris en charge.
Mon filesystems.php fichier dans mon config dossier ressemble à ceci:
<?php
return [
'default' => 'local',
'cloud' => 's3',
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
'uploads' => [
'driver' => 'local',
'root' => public_path('uploads'),
],
],
'storage' => [
'driver' => 'local',
'root' => storage_path(),
],
];
Ce qui pourrait être le problème? Je suis en utilisant Laravel Homestead version 2.2.2.
OriginalL'auteur nielsv | 2017-02-26
Vous devez vous connecter pour publier un commentaire.
Ici vous avez défini le
$disk
commepublic_folder
:Mais dans votre filesystem.php vous n'avez pas le public_folder disque
Vous avez besoin pour créer un nouveau "public_folder" disque
ou de renommer vos
$disk
variable sur un autre disque:OriginalL'auteur João Mantovani