Recent searches


No recent searches

Amir S.'s Avatar

Amir S.

Joined Mar 31, 2024

·

Last activity May 27, 2024

Following

0

Followers

0

Total activity

3

Votes

0

Subscription

1

ACTIVITY OVERVIEW

Latest activity by Amir S.

Amir S. commented,

Community comment Developer - Zendesk APIs

foreach ($files as $key => $file)

      {

        $attachmentFile = $this->uploadAndGetPath($file);

        $attachmentMime = 'application/binary';

        $tmp = explode('/', $attachmentFile);

          $file_name = end($tmp);

        $tmp = explode('.', $attachmentFile);

          $file_extension = end($tmp);

        if ($file_extension=='pdf') { $attachmentMime = 'application/binary'; } // application/pdf

        if ($file_extension=='zip') { $attachmentMime = 'application/zip'; }

        if ($file_extension=='jpg') { $attachmentMime = 'image/jpeg'; }

        if ($file_extension=='png') { $attachmentMime = 'image/png'; }


 

        $headers = array();

        $headers[] = 'Content-Type: '.$attachmentMime;

        $headers[] = 'Authorization: Basic '.base64_encode(config('zendesk.username').':'.config('zendesk.token'));


 

        $attachmentFileData = file_get_contents(Storage::url($attachmentFile));


 

        $ch = curl_init();

              curl_setopt($ch, CURLOPT_URL, 'https://'.config('zendesk.sub_domain').'.zendesk.com/api/v2/uploads.json?filename='.$file_name);

              curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

              curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

              curl_setopt($ch, CURLOPT_POST, 1);

              curl_setopt($ch, CURLOPT_POSTFIELDS, $attachmentFileData);

        $result = curl_exec($ch);

        $result = json_decode($result,true);

        curl_close($ch);


 

        $uploadTokens[] = $result['upload']['token'];

        //unlink(getcwd().'/'.$attachmentFile);

      }

View comment · Posted May 27, 2024 · Amir S.

0

Followers

0

Votes

0

Comments


Amir S. commented,

Community comment Developer - Zendesk APIs

Issue still occurs to me with image files. 
Code below for PDF uploads works! (using Content-Type: application/binary);

PHP/laravel, curl and correct content-type used. 
Any thougths? 

    $headers = array();

    $headers[] = 'Content-Type: image/jpeg';

    $attachmentUrl = 'https://storage.googleapis.com/orderaprint/orders/149872/367636_gooten_tote_bag_1711868333.jpg';

    $attachmentFileData = file_get_contents($attachmentUrl);


 

    $ch = curl_init();

          curl_setopt($ch, CURLOPT_URL, 'https://'.config('zendesk.sub_domain').'.zendesk.com/api/v2/uploads?filename=test.jpg');

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

          curl_setopt($ch, CURLOPT_POST, 1);

          curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

          curl_setopt($ch, CURLOPT_USERPWD, config('zendesk.username').':'.config('zendesk.token'));

          $post = array('file' => $attachmentFileData);

          curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

    $result = curl_exec($ch);

    print_r($result);

    curl_close($ch);

    die();

View comment · Posted Mar 31, 2024 · Amir S.

0

Followers

0

Votes

0

Comments