응답에서 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 파일을 저장하기위한 코드입니다. I 브라우저에서 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 파일을 생성합니다 같은 응답을 보여줍니다
$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);
.
무엇이 잘못 되었나요?
업데이트 : Respose는 파일에 저장하지, 브라우저에서 PDF 파일을 표시 할 때
삭제되었지만 아직 열리지 않은 빈 PDF가 계속 표시됩니다. – Shahzeb
모든 것을 단계별로 디버그하십시오. 'curl_exec ($ ch)', 그 다음''json_decode (curl_exec ($ ch))'다음'$ response-> labelData'에서'base64_decode ($ response-> labelData)'값을 얻었습니까? 브라우저에서 PDF 파일을 보여줄 수 있습니까? –
예, 첨부 된 이미지에 표시된대로 결과가 정확합니다 (질문을 업데이트했습니다). 또한 브라우저에서 열리지 않습니다. – Shahzeb