API への呼び出し (PHP サーバー) を行っており、応答を得ていることを確認できます。応答を得ていることがわかっている時点でのコードは次のとおりです。
$binaryF = $rsObject->makeCall('get', "/JobData/{$_GET["jID"]}", "?format=bin");
//header("Pragma: public"); // required
//header("Content-Type: application/zip");
//header("Content-Disposition: attachment; filename=ss.zip");
//header("Content-Length: " . filesize($binaryF.length));
//header("Content-Transfer-Encoding: binary");
file_put_contents('C:\ss.zip', $binaryF);
コードをそのままにして、このコードが記載されたページに移動するリンクをクリックすると、ss.zip が作成され、それを開いて正しい内容であることを確認します。データは最初の行の API 呼び出しから取得され、基本的に zip パッケージです。コメントを削除して file_put_contents 行をコメント アウトすると、ブラウザはファイル保存ダイアログ ボックスを開きますが、保存するとアーカイブは 0 バイトになりますか?
API 呼び出しから取得したコンテンツをブラウザーに送信するにはどうすればよいですか? 最初にディスクに保存したくありません。リクエストを直接行うブラウザに送信したいのです。
ありがとうジャック
Ok。私はそれを次のように変更しました:
header("Pragma: public"); // required
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=ss.zip");
header("Content-Length: " . strlen($binaryF));
header("Content-Transfer-Encoding: binary");
そして今、ファイルの保存を開きます。保存して 8 K ですが、開こうとすると、「Windows はフォルダーを開けません」というメッセージが表示されます。zip が無効であると訴えます。少なくとも私はどこかに到達しています。これまでの助けに感謝します!