无法通过curl在amazon ec2实例上发布文件

时间:2015-07-08 06:47:12

标签: curl amazon-web-services amazon-ec2

我在亚马逊ec2实例上托管了我的网站。但我面临一个问题,即当我们尝试通过curl发布文件/图像时,它只会将网址发布到目标网址,但我们需要在那里发布图像内容。要发布图像,我们使用下面给出的代码:

    $target_url = 'http://www.alvinmcbride.com/FaceReaderPOST/api/facereader/PostImage';
                        $post = array('myImage'=>'@'.$frame_existing_path);
                        $curl = curl_init();
                        curl_setopt($curl, CURLOPT_URL,$target_url);
                        curl_setopt($curl, CURLOPT_POST,1);
                        curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
                        curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
                        $result=curl_exec ($curl);
                        curl_close ($curl);

                        $api_emotions_array[$frame_time] = json_decode($result, true);      

作为回应,它为每张图片都显示“无效图像”信息。所以请建议我做错了什么。因为相同的代码在其他服务器上工作正常,如共享/专用服务器。

1 个答案:

答案 0 :(得分:0)

使用curl_file_create()函数,它对亚马逊主持人有用..

$tmpfile = $_FILES['image']['tmp_name'];
$filename = basename($_FILES['image']['name']);
$filetype = $_FILES['image']['type'];   
$image_string =curl_file_create($tmpfile,$filetype,$filename);

通常

$org_image_string = '@'.$tmpfile.';filename='.$filename;

在本地和其他服务器上为我工作,但它不适用于亚马逊托管网站。因此我使用curl_file_create,它运作良好:)