What are the contents of the file that gets uploaded?

I've been having a similar problem. I upload an image, but the resulting 
file is 900b and consists only of my HTTP PUT request.

On Friday, April 4, 2014 12:10:51 AM UTC-4, seba wrote:
>
> I'm using the Miles Johnson Uploader to upload and resize images. I'm 
> finding that images are being uploaded to the correct location and the 
> respective database table column is being updated with the correct path and 
> file name, however, the images that are being saved to the server directory 
> are effectively empty and corrupt (i.e. I upload a 500KB image, that ends 
> up being 6KB in size once uploaded, and when I go to open it, I get the 
> file is corrupt message). 
> Note:  I've removed the resize config temporarily whilst I have this 
> corrupt image issue, hence there's no config below for it.
>
> I've provided the relevant code snippets below, but any advice to help 
> resolve this issue around why my app's uploading empty/corrupt images is 
> much appreciated.
>
> *Here is the upload code in my model file:*
>
> At the top of the model file:
>
> App::uses('AppModel', 'Model','AttachmentBehavior');
>
> And the configuration further down the model file:
> public $actsAs = array(
> 'Uploader.Attachment' => array(
> 'image' => array(
> 'prepend' => 'logo-',
> 'tempDir' => TMP,
> 'uploadDir' => '/full-path-to/app/webroot/img/uploads/',
> 'finalPath' => '/img/uploads/',
> 'dbColumn' => 'image',
> 'overwrite' => true,
> 'stopSave' => true,
> 'allowEmpty' => true
> )
> ),
> 'Uploader.FileValidation' => array(
>         'image' => array(
>             'extension' => array('gif', 'jpg', 'png', 'jpeg'),
>             'type' => array('image'),
>             'filesize' => 5242880
>         )
> )
> );
>
> *Here is the code for the image input field only (fyi - the image field is 
> one of many in the form) in the view. I'm using Bootstrap, hence the 
> additional formatting:*
>
> echo $this->Form->input('image', array(
> 'fieldset' => false,
> 'label' => false,
>  'before' => '<label class="col-sm-2 control-label">Image</label><div 
> class="col-sm-9">',
>  'after' => '</div>',
>          'class' => 'form-control',
>          'type' => 'file',
>  'div' => 'form-group',
>  'error' => array(
>          'attributes' => array(
>              'wrap' => 'div', 'class' => 'alert alert-danger'
>                       )
>                  )
> )
> ); 
>
>
> *Finally, here is the controller code:*
>
>  public function edit($id = null) {
>  if (!$this->ModelName->exists($id)) {
> throw new NotFoundException(__('Invalid ModelName'));
> }
> if ($this->request->is(array('post', 'put'))) {
> if ($this->ModelName->save($this->request->data)) {
> $this->Session->setFlash(__('The ModelName has been saved.'), 'default', 
> array('class' => 'alert alert-success'));
> return $this->redirect(array('action' => 'index'));
> } else {
> $this->Session->setFlash(__('The ModelName could not be saved. Please, try 
> again.'), 'default', array('class' => 'alert alert-danger'));
> }
> } else {
> $options = array('conditions' => array('ModelName.' . 
> $this->ModelName->primaryKey => $id));
> $this->request->data = $this->ModelName->find('first', $options);
> }
> }
>
> Thanks!
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to