向清单文件添加文件字段

Adding a file field to the manifest file

我的插件需要用户上传文件。

清单字段未设置 enctype="multipart/form-data" 形式,因此当文件上传时它会丢失。

有办法改变吗?

    for xml :
            Joomla File form field type in xml:
            https://docs.joomla.org/File_form_field_type
            <field name="myfilevalue" type="file" label="Enter some text" description="Choose an image from your computer with maximum 100KB" size="10" accept="image/*" />


            OR 
            if your file field in html form then used :
            <input type="file" name="jform[myfilevalue]" >

希望对你有所帮助, 否则请提供更多描述

                            form xml :    
                            <field name="con_image" type="file" label="" description="" hint="Image"/>
            default.php
                            <div class="controls">
                                            <?php if (!empty($this->item->con_image) && file_exists(JPATH_SITE.'/images/contact_image/thumb_' .  $this->item->con_image)) : ?>
                                                <img src="<?php echo JRoute::_(JUri::root() . 'images/contact_image/thumb_' . $this->item->con_image, false);?>">
                                            <?php endif; ?>
                                                <input type="hidden" name="jform[con_image]" id="jform_image_hidden" value="<?php echo $this->item->con_image; ?>" />
                                                <?php echo $this->form->renderField('con_image'); ?>
                                        </div>  
            your view table file code for image upload:

            $files = $app->input->files->get('jform', array(), 'raw');

                    $array = $app->input->get('jform', array(), 'ARRAY');

                    if (!empty($files['con_image']['name']))
                    {
                        // Deleting existing files
                        $oldFiles = PlansHelpersPlans::getFiles($this->id, $this->_tbl, 'con_image');

                        foreach ($oldFiles as $f)
                        {
                             $oldFile = JPATH_ROOT . '/images/contact_image/' . $f;


                            if (file_exists($oldFile))
                            {
                                unlink($oldFile);
                            }

                        }

                        $this->con_image = "";
                        $singleFile = $files['con_image'];

                            jimport('joomla.filesystem.file');

                            // Check if the server found any error.
                            $fileError = $singleFile['error'];
                            $message = '';

                            if ($fileError > 0 && $fileError != 4)
                            {
                                switch ($fileError)
                                {
                                    case 1:
                                        $message = JText::_('File size exceeds allowed by the server');
                                        break;
                                    case 2:
                                        $message = JText::_('File size exceeds allowed by the html form');
                                        break;
                                    case 3:
                                        $message = JText::_('Partial upload error');
                                        break;
                                }

                                if ($message != '')
                                {
                                    $app->enqueueMessage($message, 'warning');

                                    return false;
                                }
                            }
                            elseif ($fileError == 4)
                            {
                                if (isset($array['con_image']))
                                {
                                    $this->con_image = $array['con_image'];
                                }
                            }
                            else
                            {

                                // Replace any special characters in the filename
                                jimport('joomla.filesystem.file');
                                $filename = JFile::stripExt($singleFile['name']);
                                $extension = JFile::getExt($singleFile['name']);
                                $filename = preg_replace("/[^A-Za-z0-9]/i", "-", $filename);
                                $filename = rand()."-".$filename . '.' . $extension;
                                $uploadPath = JPATH_ROOT . '/images/contact_image/' . $filename;

                                $fileTemp = $singleFile['tmp_name'];

                                if (!JFile::exists($uploadPath))
                                {
                                    if (!JFile::upload($fileTemp, $uploadPath))
                                    {
                                        $app->enqueueMessage('Error moving file', 'warning');

                                        return false;
                                    }
                                }

                                //$this->con_image .= (!empty($this->con_image)) ? "," : "";
                                $this->con_image = $filename;
                            }

                    }else{
                        $this->con_image = $array['con_image'];
                    }

你还有问题然后检查这里 下载我的简单组件:https://github.com/erakashpatel/Important-notes/blob/master/com_helloworld.zip 要么 https://github.com/erakashpatel/Important-notes/blob/master/com_test.zip

希望能提前works.Thanks