使用curl请求上传php图像

时间:2016-07-06 12:54:57

标签: php angularjs

我尝试通过 imageUploader.php 将图片文件上传到服务器。我需要从我的角度脚本和PHP脚本上传图像。我的角度http请求成功上传了图像,但php脚本无法上传图像文件。

这是角度请求:

notUsed

这是php请求

fd = new FormData();
fd.append('file', file);

    $http
    .post(uUrl, fd, {
        transformRequest: angular.identity,
        headers: {
            'Content-Type': "multipart/form-data"
        }
    })

问题是,如果我删除了PHP脚本中的 multipart / form-data 部分,图像就会成功上传,但当我在服务器中查看时,图像内容可以&#39 ;被观看。就像上传图片时图片已损坏一样。

1 个答案:

答案 0 :(得分:0)

尝试使用此代码,它将帮助您使用curl

上传文件
$ch = curl_init();
//$data = array('name' => 'Foo', 'file' => '@/path/to/image.jpeg');
$data['file'] = new CurlFile( $data_string['tmp_name'], $data_string['type']); 
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
//CURLOPT_SAFE_UPLOAD defaulted to true in 5.6.0
//So next line is required as of php >= 5.6.0
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);