Create a controller file **SfuploadController.php** under **MageSf/OrderCustom/controllers/Adminhtml** <?php class MageSf_OrderCustom_Adminhtml_SfuploadController extends Mage_Adminhtml_Controller_Action { public function uploadAction() { if (isset($_FILES['docname']['name']) && $_FILES['docname']['name'] != '') { try { $uploader = new Varien_File_Uploader('docname'); $uploader->setAllowedExtensions(array('doc','pdf','txt','docx')); $uploader->setAllowCreateFolders(true); $uploader->setAllowRenameFiles(false); $uploader->setFilesDispersion(false); $newDir = "customer_documents"; $newdirPath = Mage::getBaseDir('media') . DS . "customer_documents"; if (!file_exists($newdirPath)) { mkdir($newdirPath, 0777); } $path = Mage::getBaseDir('media') . DS . $newDir . DS; $resizedPath = Mage::getBaseDir('media') . DS . $newDir; $uploader->save($path, $_FILES['docname']['name']); } catch (Exception $e) { } } Mage::getSingleton('adminhtml/session')->addError(Mage::helper('brandlogo')->__('Unable to find item to save')); $this->_redirectReferer(); } } Update your **config.xml** and add below code <admin> <routers> <adminhtml> <args> <modules> <MageSf_OrderCustom after="Mage_Adminhtml">MageSf_OrderCustom_Adminhtml</MageSf_OrderCustom> </modules> </args> </adminhtml> </routers> </admin> Update your **ordercustom.phtml** You need to remove all other code from this file. <form id="doc-form" name="doc-form" method="post" action="<?php echo Mage::helper('adminhtml')->getUrl('adminhtml/sfupload/upload',array('form_key' => Mage::getSingleton('core/session')->getFormKey())); ?>" enctype="multipart/form-data"> <label>Upload Document</label> <input type="file" title="File" name="docname"> <button type="submit" title="Save"><span>Upload</span></button> </form>