首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >团队合作api,如何发送文件?

团队合作api,如何发送文件?
EN

Stack Overflow用户
提问于 2015-09-28 09:20:51
回答 1查看 496关注 0票数 1

我使用ZF1表单获取数据,使用cURL将它们发送到团队应用程序接口。我尝试在任务列表上创建新任务,这样就可以了。问题是,当我试图附加文件时,服务器响应是:

“消息”:“未找到临时文件引用”,“状态”:“错误”

我该怎么办?

请帮帮忙。

我的表格:

代码语言:javascript
复制
$this->setName('editForm')
     ->setAttrib('class', 'no-store')
     ->setAttrib('enctype', 'multipart/form-data"');

$this->createElement('file', 'pendingFileAttachments')

我刚从$_POST 'pendingFileAttachments‘那里得到并尝试用json编码并发送。也许是需要得到文件而不仅仅是文件名,这是真的吗?

提前感谢帮助。

编辑:

因此,我发现我应该首先将文件上传到团队API,并在使用后将上传的文件引用到函数中。

现在,我已经将文件上传到服务器的硬盘上,在我的php脚本中,我使用"realpath“来查找真正存在的文件,并且感觉很好。

而不是我用这个代码:

代码语言:javascript
复制
$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‘不包含有效文件”,“状态”:“错误”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-12 13:22:09

问题出在ZendFramework。在ZF1表单中上传文件后获取文件路径的正确方法是:

代码语言:javascript
复制
$file = $form->getElement('pendingFileAttachments')->getTransferAdapter()->getFileInfo();
$file['tmp_name'] // this is filepath

就这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32819512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档