CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 02-11-2012 09:32:18

croustibapt
Pitivier
Date d'inscription: 12-05-2012
Messages: 14

Plugin Uploader (Miles Johnson)

Bonjour à tous,

j'utilise le plugin Uploader de Miles Johnson et j'ai réussi à le faire fonctionner. Mon problème maintenant c'est que j'aimerai le configurer comme cela est expliqué sur le site (taille maximum, ratios etc...) pour limiter les abus.

Je n'arrive pourtant pas à faire en sorte que mes propriétés soient prises en compte.

Dans mon model User j'ai ceci :

Code: php

  1. var $actsAs = array(
  2.     'Uploader.FileValidation' => array(
  3.       'picture_url' => array(
  4.         'maxWidth'  => 100,
  5.         'maxHeight' => 100,
  6.         'extension' => array('gif', 'jpg', 'png', 'jpeg'),
  7.         'filesize'  => 5242880,
  8.         'required'  => true
  9.       )
  10.     ),
  11.     'Uploader.Attachment' => array(
  12.       'picture_url' => array(
  13.         'name'    => 'formatFileName'// Name of the function to use to format filenames
  14.         'baseDir' => '',      // See UploaderComponent::$baseDir
  15.         'uploadDir' => 'files/uploads/users',     // See UploaderComponent::$uploadDir
  16.         'dbColumn'  => 'uploadPath'// The database column name to save the path to
  17.         'importFrom'  => '',      // Path or URL to import file
  18.         'defaultPath' => '',      // Default file path if no upload present
  19.         'maxNameLength' => 30,      // Max file name length
  20.         'overwrite' => true,    // Overwrite file with same name if it exists
  21.         'stopSave'  => true,    // Stop the model save() if upload fails
  22.         'allowEmpty'  => true,    // Allow an empty file upload to continue
  23.         'transforms'  => array(),   // What transformations to do on images: scale, resize, etc
  24.         's3'    => array(),   // Array of Amazon S3 settings
  25.         'metaColumns' => array(   // Mapping of meta data to database fields
  26.           'ext' => '',
  27.           'type' => '',
  28.           'size' => '',
  29.           'group' => '',
  30.           'width' => '',
  31.           'height' => '',
  32.           'filesize' => ''
  33.         )
  34.       )
  35.     )
  36.   );

Le problème c'est que j'arrive toujours à uploader des fichiers de plus de 500ko et donc la taille ne vérifie pas le ratio 100x100.

Est-ce que quelqu'un peut m'aider ? Merci d'avance.

P.S. : J'effectue mes tests sous Wamp en local. Est-ce que ceci a une influence ?

Hors ligne

 

#2 02-11-2012 10:23:24

spout
Cooker
Date d'inscription: 18-12-2010
Messages: 1899

Re: Plugin Uploader (Miles Johnson)

Tu as fait le $this->Model->validates() comme expliqué dans la doc du plugin ?
Là tu nous montres juste ta config du behavior, c'est maigre comme infos ^^

Hors ligne

 

#3 02-11-2012 10:29:33

croustibapt
Pitivier
Date d'inscription: 12-05-2012
Messages: 14

Re: Plugin Uploader (Miles Johnson)

Oui excuse moi, j'ai fais ceci dans mon UsersController, dans ma méthode d'upload :

Code: php

  1. $this->User->id = $this->Auth->user('id');
  2.        
  3. $this->Uploader = new Uploader(array('tempDir' => TMP));
  4.        
  5. //Picture
  6. if ($this->User->validates()) {
  7.    if ($data = $this->Uploader->upload('picture_url')) {
  8.       //Suite
  9.    }
  10. }

Hors ligne

 

#4 02-11-2012 10:42:17

spout
Cooker
Date d'inscription: 18-12-2010
Messages: 1899

Re: Plugin Uploader (Miles Johnson)

Tu dois faire $this->User->set($this->request->data); avant d’appeler manuellement validates():

http://milesj.me/code/cakephp/uploader# … st-a-model
http://book.cakephp.org/2.0/en/models/d … oller.html

Hors ligne

 

#5 02-11-2012 10:59:57

croustibapt
Pitivier
Date d'inscription: 12-05-2012
Messages: 14

Re: Plugin Uploader (Miles Johnson)

Et bien oui cela fonctionne désormais.

Un grand merci.

En espérant que ceci en aide d'autres.

Hors ligne

 

Pied de page des forums

Propuls� par FluxBB
Traduction par FluxBB.fr