我根据http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/ResourceManagement.html
进行了文件上传我遇到此错误:遇到无效类型:'\ TYPO3 \ Flow \ Resource \ Resource'
代码的
的Controler:
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>
答案 0 :(得分:0)
如果您使用 TYPO3 CMS :
你不会在那里找到课程TYPO3\Flow\Resource\Resource
。
因此,您必须使用 Extbase 类。如果您使用的是TYPO3 6.x,您可能需要查看Extbase命名空间或此处的某处:\TYPO3\CMS\Core\Resource\ResourceInterface
。
但最有可能的是,最简单的方法是使用Extbase查找有关文件上传的另一个教程。
如果您正在开发一个独立的FLOW应用程序,我没有准确的答案。