我使用ZF1表单获取数据,使用cURL将它们发送到团队应用程序接口。我尝试在任务列表上创建新任务,这样就可以了。问题是,当我试图附加文件时,服务器响应是:
“消息”:“未找到临时文件引用”,“状态”:“错误”
我该怎么办?
请帮帮忙。
我的表格:
$this->setName('editForm')
->setAttrib('class', 'no-store')
->setAttrib('enctype', 'multipart/form-data"');
$this->createElement('file', 'pendingFileAttachments')我刚从$_POST 'pendingFileAttachments‘那里得到并尝试用json编码并发送。也许是需要得到文件而不仅仅是文件名,这是真的吗?
提前感谢帮助。
编辑:
因此,我发现我应该首先将文件上传到团队API,并在使用后将上传的文件引用到函数中。
现在,我已经将文件上传到服务器的硬盘上,在我的php脚本中,我使用"realpath“来查找真正存在的文件,并且感觉很好。
而不是我用这个代码:
$data["file"] = $filePath;
$channel = curl_init();
curl_setopt($channel, CURLOPT_URL, "$this->baseURL/pendingfiles.json");
curl_setopt($channel, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($channel, CURLOPT_POST, true);
curl_setopt($channel, CURLOPT_POSTFIELDS, $data);
curl_setopt($channel, CURLOPT_HTTPHEADER, array("Authorization: BASIC " . base64_encode($this->api_key . ":xxx"),
));
curl_setopt($channel, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($channel);并得到回应:
“MESSAGE”:“表单字段'file‘不包含有效文件”,“状态”:“错误”
发布于 2015-10-12 13:22:09
问题出在ZendFramework。在ZF1表单中上传文件后获取文件路径的正确方法是:
$file = $form->getElement('pendingFileAttachments')->getTransferAdapter()->getFileInfo();
$file['tmp_name'] // this is filepath就这样。
https://stackoverflow.com/questions/32819512
复制相似问题