使用HttpRequest发送Imagick图像(POST)

时间:2015-02-06 10:15:53

标签: php http post imagick

如何在不将图像写入磁盘的情况下发送带有http post的图像?以下代码无效。

 // function returns an Imagick Object
    $image = $this->generateLvlImage($avatarUrl, $lvl);

    // I want to send it with http post
    $postRequest = new \HttpRequest($uploadUrl, \HttpRequest::METH_POST);
    $postRequest->addRawPostData('photo='.(string)$image);
    try {
        $postRequest->send();
        if ($postRequest->getResponseCode() === 200) {
            $response = $postRequest->getResponseBody();
        } else {
            throw new \Exception('post.failed');
        }
    } catch (\HttpException $e) {
        throw new \Exception($e->getMessage());
    }

1 个答案:

答案 0 :(得分:0)

如果不知道你究竟是谁/你试图提交给谁,那么确实很难说。通常,您可以对图像进行base64_encode,然后在另一端对其进行base64_decode。

$postRequest->addRawPostData('photo='.base64_encode($image->getImageBlob()));

编辑:如果你想通过多部分表单数据发送它,那么我无法在不剽窃某人工作的情况下给你答案,所以这里有一个教程:http://blog.cloudspokes.com/2013/01/reblog-post-multipartform-data-with.html