使用HTTPRequest的空或太短HTTP消息

时间:2013-11-28 23:57:08

标签: php post file-upload httprequest

我有一个应用程序响应带有文件的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"); 

它们也不例外,服务器的响应是预期的响应{}

1 个答案:

答案 0 :(得分:0)

问题在于路径必须使用/而非\\

编写