【发布时间】:2013-11-28 23:57:08
【问题描述】:
我有一个应用程序响应带有文件的 POST 请求:
https://docxgenjs.herokuapp.com/
它只是回显(以 JSON 格式)发布到该 URL 的文件。
您可以使用 REST 控制台(在 chrome 网上商店)对其进行测试。
但是,当我使用 PHP 请求该页面时,它不起作用:
try {
$url = 'https://docxgenjs.herokuapp.com/';
$request = new HTTPRequest($url, HTTP_METH_POST);
$request->addPostFile("config",app_path()."\\docxgen\\config.json");
$request->addPostFile("docx",app_path()."\\docxgen\\tagExample.docx");
$request->send();
$response = $request->getResponseBody();
var_dump($response);
}
catch(Exception $e)
{
var_dump($e->getMessage()); var_dump($e->getCode());
}
我得到以下异常:
string(35) "Empty or too short HTTP message: ''"
int(2)
这两个 POST 请求有什么不同,我该如何解决?
如果我删除这两行:
$request->addPostFile("config",app_path()."\\docxgen\\config.json");
$request->addPostFile("docx",app_path()."\\docxgen\\tagExample.docx");
他们也不例外,服务器的响应是预期的响应{}
【问题讨论】:
-
您确定 addPostFile 路径正确吗?
-
哦,你说得对,路径必须用普通斜杠
/
标签: php post file-upload httprequest