簡體   English   中英

Parse.com-使用REST API和PHP上傳圖片

[英]Parse.com - Upload image using REST API and PHP

我創建了一個PHP腳本,該腳本將從HTML表單中提取的圖像上傳到Parse.com后端。

實際上看起來腳本正在運行,因為我得到的是URL和名稱。 上傳之后,我將上傳的文件與對象相關聯。 結果也看起來不錯,並且圖像出現在數據瀏覽器中。

但是,如果我嘗試在iOS應用中獲取圖像或在瀏覽器中查看圖像(通過單擊它),則只會收到拒絕訪問警報或白頁(圖像圖標已損壞)。

iOS錯誤:錯誤域=分析代碼= 150“該操作無法完成。(分析錯誤150。)

在這里您可以看到我的代碼:

上傳圖片:

$teamImage = $_FILES["teamImage"];

$APPLICATION_ID = "XXXXXXXXXXXXXXXXXXX";
$REST_API_KEY = "XXXXXXXXXXXXXXXXXXX";

$urlFile = 'https://api.parse.com/1/files/' . $teamImage['name'];
$image = $teamImage['tmp_name'];

$headerFile = array(
    'X-Parse-Application-Id: ' . $APPLICATION_ID,
    'X-Parse-REST-API-Key: ' . $REST_API_KEY,
    'Content-Type: ' . $teamImage['type'],
    'Content-Length: ' . strlen($image),
);

$curlFile = curl_init($urlFile);
curl_setopt($curlFile, CURLOPT_POST, 1);
curl_setopt($curlFile, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlFile, CURLOPT_POSTFIELDS, $image);
curl_setopt($curlFile, CURLOPT_HTTPHEADER, $headerFile);
curl_setopt($curlFile, CURLOPT_SSL_VERIFYPEER, false); 

$responseFile = curl_exec($curlFile);
$httpCodeFile = curl_getinfo($curlFile, CURLINFO_HTTP_CODE);

$result = array('code'=>$httpCodeFile, 'response'=>$responseFile);

將圖像與對象關聯 (測試用例的圖像名稱已硬編碼)

$url = 'https://api.parse.com/1/classes/Teams';
$data = array(
    'name' => 'Test',
    'teamImage' => array(
        'name' => '......jpg',
        '__type' => 'File'
        ),
    );
$_data = json_encode($data);
$headers = array(
    'X-Parse-Application-Id: ' . $APPLICATION_ID,
    'X-Parse-REST-API-Key: ' . $REST_API_KEY,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($_data),
);

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$responseTwo = curl_exec($curl);
$httpCodeTwo = curl_getinfo($curl, CURLINFO_HTTP_CODE);

$resultTwo = array('code'=>$httpCodeTwo, 'response'=>$responseTwo);

我從Parse返回的圖片網址http : //files.parse.com/725d8f61-de18-4de5-a84c-dcc6e74c43ae/197e7bb6-62ad-4dc4-a011-6db88333ac45-BMW_1series_3door_Wallpaper_1920x1200_01.jpg

數據瀏覽器截圖

解析數據瀏覽器截圖

我認為您也需要指定網址

 $data = array(
   'name' => 'Test',
   'teamImage' => array(
      'name' => '......jpg',
      '__type' => 'File',
      'url' => '....jpg'
    ),
 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM