File upload TYPO3文件上载资源管理器

File upload TYPO3文件上载资源管理器,file-upload,typo3,resourcemanager,typo3-flow,File Upload,Typo3,Resourcemanager,Typo3 Flow,我根据 我有以下错误:遇到无效类型:'\TYPO3\Flow\Resource\Resource' 代码 控制器: class Tx_PromConf_Controller_RegistrationController extends Tx_Extbase_MVC_Controller_ActionController { /** * Imports a passport * * @param Tx_PromConf_Domain_Model_Passport $pas

我根据

我有以下错误:遇到无效类型:'\TYPO3\Flow\Resource\Resource'

代码

控制器:

class Tx_PromConf_Controller_RegistrationController extends Tx_Extbase_MVC_Controller_ActionController { 
/**
    * Imports a passport
    *
    * @param Tx_PromConf_Domain_Model_Passport $passport The new passport
    * @return void
    */
    public function passportUploadAction(Tx_PromConf_Domain_Model_Passport $passport) {
        $this->passportRepository->add($passport);
        $this->forward('index');
    }
}
模型

形式






如果您使用的是TYPO3 CMS:
在那里您将找不到类
TYPO3\Flow\Resource\Resource

因此,您被绑定到Extbase类。如果您使用的是TYPO3 6.x,您可能希望查看Extbase命名空间或此处的某个位置:
\TYPO3\CMS\Core\Resource\ResourceInterface

但最简单的方法可能是寻找另一个使用Extbase上传文件的教程


如果您正在开发一个独立的流应用程序,我没有一个精确的答案

您使用哪种TYPO3和Extbase版本?当调用上载表单或上载文件时,何时发生错误?键入3 v4.7,当调用上载表单时发生错误。是的,我使用的是键入3 CMS。但我在任何地方都找不到这种资源。可能是因为版本的原因,很可能是。在4.7中,名称空间概念的实现并不一致。我建议再看一本教程。
class  Tx_PromConf_Domain_Model_Passport extends Tx_Extbase_DomainObject_AbstractEntity {

    /**
     * @var string
     */
    protected $title;

    /**
     * @var \TYPO3\Flow\Resource\Resource
     */
    protected $originalResource;

    /**
     * @param string $title
     * @return void
     */
    public function setTitle($title) {
        $this->title = $title;
    }

    /**
     * @return string
     */
    public function getTitle() {
        return $this->title;
    }

    /**
     * @param \TYPO3\Flow\Resource\Resource $originalResource
     * @return void
     */
    public function setOriginalResource(\TYPO3\Flow\Resource\Resource $originalResource) {
        $this->originalResource = $originalResource;
    }

    /**
     * @return \TYPO3\Flow\Resource\Resource
     */
    public function getOriginalResource() {
        return $this->originalResource;
    }

    /**
     * __construct
     *
     * @return void
     */
    public function __construct() {
        //Do not remove the next line: It would break the functionality
        $this->initStorageObjects();
        $this->setTitle('PassportScan');
    }

    /**
     * Initializes all Tx_Extbase_Persistence_ObjectStorage properties.
     *
     * @return void
     */
    protected function initStorageObjects() {

    }
}
<f:form action="passportUpload" controller="Registration" enctype="multipart/form-data" 
            object="{passport}" objectName="passport">
        <br />
        <div>
            <f:translate key="tx_promconf_passport_upload.sentense" />
        </div>
        <br />
        <div class="max-size">
            <f:form.upload class="btn" name="originalResource" />
        </div>
        <br />
        <br />
        <div class="max-size">
            <f:form.submit name="mySubmit" class="btn btn-l" value="<f:translate key='tx_promconf_passport_upload.ok' />" />
            <input type="reset" class="btn btn-r" value="<f:translate key='tx_promconf_passport_upload.cancel' />" />    
        </div>
    </f:form>