Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • 1.0.1
  • 1.0.0
3 results

fichier

  • Clone with SSH
  • Clone with HTTPS
  • UnicaenFichier

    Fichier et Nature

    Fichier : Entité gérant les informations sur le fichier tel que sont nom, sa taille ...

    Nature : Entité permettant de gerer les types de Fichier. Par défaut, une seul : Document

    Quelques routes par défaut permettant les actions de bases :

    • fichier/upload

    • fichier/download

    • fichier/archiver

    • fichier/restaurer

    • fichier/supprimer

    • Attention, il n'y a pas d'assertion par défaut et les ajout / suppression se font également sur le storage*

    Formulaire d'Upload

    Le formulaire d'upload par défaut peux être partiellement configurer, notamment en ce qui concerne les types de fichier attentdu et la taille max. il est possibles de rajouter ses propres validateur

    'fichier' => [
            'uplpoad' => [
                'max-size' => '2MB',
                'extentions' => ['pdf', 'csv'], // Extention des fichiers autorisée
                //Pour les csv typeMine = text/plain
                'type-mine' => ['application/pdf', 'text/plain'],
                'validators' => [],
            ],
    ]

    Storage

    Dépendance avec UnicaenStorage pour gerer le stockage des fichiers

    A définir dans la config

    'fichier' => [
        ...    
        'storage' => [
            'adapters' => [
                    FilesystemStorageAdapter::class => [
                        'root_path' => "/tmp/",
                    ],
                    ... (conf des autres storage éventuel)
                ],
    
                /**
                 * Adapter de stockage activé (unique).
                 */
                'adapter' => FilesystemStorageAdapter::class,
         ]      
        ...    
    ]

    Les fonctions FichierService:create(Fichier $fichier, ?bool $addToStorage=true) et FichierService:delete(Fichier $fichier, bool $deleteFromStorage=true) permettent de préciser si l'on souhaite déposer/supprimer le fichier du stockage.

    La fonction FichierService:createFichierFromUpload(array $file, Nature $nature, ?bool $addToStorage=true) permet de récupérer le fichier sous forme de tableau (via un formulaire), de creer se fichier et de la déposer dans le storage

    FileNameFormatter

    Provider permettant de personnaliser comment sont nommés les fichiers.

    2 fonctions a implémentée + 1 héritée :

    • getFileName : nom du fichier

    • getFileDir : nom du reper

    • getFullName : = getFileDir().'/'. getFileName(); //

    • Ces fonciton ne font pas de modification dans l'entité, charge a vous lors de l'ajout de modifier le NomStockage (a priori avec getFullName)*

    A définir dans la config

    'fichier' => [
        ...
        'file-name-formatter' => DefaultFileNameProvider::class
        ...
    ]

    2 exemple existe déjà :

    • DefaultFileNameProvider : Ymd-His-uid-NomOriginale
    • NatureBasedFileNameProvider : CodeNature/Ymd-His-uid-NomOriginale