0

http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/ResourceManagement.htmlに従ってファイルをアップロードしました

次のエラーが発生しました:無効なタイプが見つかりました: '\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');
    }
}

モデル

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>
4

1 に答える 1

0

TYPO3 CMSを使用している場合:そこ
にクラスが見つかりませんTYPO3\Flow\Resource\Resource

したがって、Extbaseクラスにバインドされます。TYPO3 6.x を使用している場合は、Extbase 名前空間か、次の場所のいずれかを参照することをお勧めします\TYPO3\CMS\Core\Resource\ResourceInterface
しかし、おそらく最も簡単な方法は、Extbase を使用したファイルのアップロードに関する別のチュートリアルを探すことです。

スタンドアロンの FLOW アプリケーションを開発している場合、正確な答えはありません。

于 2013-08-12T18:30:31.167 に答える