【发布时间】:2013-07-12 19:45:06
【问题描述】:
我正在尝试将文件上传到第 3 方端点,但我无法直接从我的表单中发布文件,因为 API 需要一个我无法向最终用户公开的 api_key。因此,我的计划是将表单指向控制器/操作并从那里发布数据。但是,当我从控制器内部debug($this->request->data) 时,文件数据丢失了。
视图上的表单:
echo $this->Form->create('Media', array('type'=>"file", 'url'=>array('controller'=>'media', 'action'=>'upload') ) );
echo $this->Form->input('name', array("name"=>"name") );
echo $this->Form->input('file', array('type'=>'file', "name"=>"file") );
echo $this->Form->input('project_id', array('type'=>'hidden', "name"=>"project_id", "value"=>$project["Project"]['hashed_id']) );
//THIS CANNOT BE HERE: echo $this->Form->input('api_password', array('type'=>'hidden', "name"=>"api_password", "value"=>'xxxxxxx') );
echo $this->Form->end("Submit");
这是我在debug() 来自控制器的请求数据时看到的内容:
array(
'name' => 'Some Name',
'project_id' => 'dylh360omu',
)
这是怎么回事?
【问题讨论】:
-
您是否尝试过完全相同的方法,但没有更改输入名称?
-
您是否尝试过查看 $this->request 中的内容?
debug($this->request)I 事物文件数据在请求数据之外进行管理。 -
文件有多大,upload_max_filesize 和 max_post_size 指令是否允许该文件大小?
-
@我是 John Galt:文件数据在 $this->request->data 中处理
-
@Nunser:没试过,但我会的。也许是一个错误?您是否理解它通常应该存在于数据数组中?
标签: php cakephp post cakephp-2.0