我試圖從響應中保存PDF文件。這裏是 API documentatinPHP:保存base64編碼的PDF文件
Creates a shipping label for a given order. The labelData field returned in the response is a base64 encoded PDF value. Simply decode and save the output as a PDF file to retrieve a printable label
。
這是我的代碼保存pdf文件。
$response = json_decode(curl_exec($ch));
$data = base64_decode($response->labelData);
header('Content-Type: application/pdf');
//echo $data;
$path = 'E:/newly_created_file'.time().'.pdf';
file_put_contents($path,$data);
當我echo $data
在瀏覽器中,它顯示了像
%PDF-1.4 %���� 2 0 obj <>stream x�+�r �26S0�4SI�r � �*T0T0BC]#=]ccC=#��\��4C�|�@.GF� endstream endobj 4 0 obj <>>>/Contents 2 0 R/Parent
,當我保存數據,它產生無法打開一個空的pdf文件的響應。
這裏有什麼問題?
UPDATE:Respose在附加的圖像正確的數據顯示,當你表現出瀏覽器的PDF文件,在文件中不存儲
已刪除,但我仍然收到空的PDF無法打開。 – Shahzeb
通過步驟調試所有東西。你從'curl_exec($ ch)',下一個'json_decode(curl_exec($ ch))'下一個'$ response-> labelData'下一個'base64_decode($ response-> labelData)''得到了正確的值。你可以在瀏覽器中顯示PDF文件嗎? –
是的,結果是正確的,如附圖所示(我已更新問題)。它也無法在瀏覽器 – Shahzeb