Ok.. think I caught a break. Thanks to schnauss' reminder to check the 
image content, I did a little more digging and found a reminder to include 
the following in the Form->create:

   - 'enctype' => 'multipart/form-data'
   

So resulting form->create looks like:

echo $this->Form->create('ModelName', array('enctype' => 
'multipart/form-data'));


Made the update, and images are being uploaded with content (and there 
might have been a face-palm at some point after this update)!

On Monday, 7 April 2014 11:50:54 UTC+10, seba wrote:
>
> Hi schnauss,
>
> Just checked, and that is exactly what I am getting - the resulting image 
> file uploaded to the server consists only of the HTTP PUT request.
>
> On Sunday, 6 April 2014 06:51:29 UTC+10, schnauss wrote:
>>
>> 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