chmod -R 777 uploads
2. The uploads directory is at the same level as app directory. You can change the upload location from the public folder to any folder by customizing the store_dir in your uploader class:
3. You also have to define cache_dir in your uploader class, otherwise it will still throw exception.