自定义组件的Joomla后端组件文件上传


Joomla backend component file upload for custom component

我是Joomla的新手!我正在创建自定义joomla(3.4.1)组件,我正在取得良好的进展。我使用了几乎所有的字段之一的形式添加/编辑所有工作正常,除了文件上传。

实际上它保存值在我的表字段,但我真的不知道如何/在哪里写Joomla!上传文件的代码。

我参考这个链接https://docs.joomla.org/Creating_a_file_uploader_in_your_component但我根本不需要任何上传器,只是想手动上传,也找到type="media"字段,但似乎它只允许上传图像。

现在我应该采取什么下一步,以便将文件上传到特定的文件夹,该文件夹仅限管理员使用。

我知道其中一个方法可能在控制器中重写保存方法并开始上传。

但是有什么合适的方法吗??

谢谢。

嗯,

我用这种方法弄明白了这件事!

我的控制器文件我写了这段代码,如果找到最好的方法,我会回来的。

<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.filesystem.file');
class HelloWorldControllerHelloWorld extends JControllerForm{
    public function save($data = array(), $key = 'id')
    {
        $jinput = JFactory::getApplication()->input;
        $files = $jinput->files->get('jform');      
        $fileinfo =pathinfo($files['file_name']['name']);
        $ext = $fileinfo['extension'];
        $filename = time().".$ext";     
        $tmp_file = $files['file_name']['tmp_name'];
        $dest = "media/".JText::_('COM_APISLIDE')."/upload/".$filename;
        if (JFile::upload($tmp_file, $dest)) {
              // successed :)
        } else {              
             // failed :(
        }        
        parent::save();
    }
}