私はこれを何時間も研究しており、Googleは何の助けにもなっていない。 Slim 3を使ってイメージをレスポンスとして書くにはどうすればいいですか?何を試しても、バイナリデータが画像の代わりに表示されます。ここで私が試したコードの最初の部分です。スリム3レスポンスとして画像を書く
$image = file_get_contents("image_location");
return $response->withHeader("Content-Type", "image/jpeg")->write($image);
以上、Content-DispositionやContent-Lengthなどのさまざまなヘッダーを追加しました。 base64として出力しようとしました。あなたがGoogleの検索結果を見つけたら、私はそれを試したのです。何も動作しません。もちろん、この単純なPHPはスタンドアロンファイルではうまく動作しますが、Slimではうまく動作しません。
header("Content-Type: image/jpeg");
readfile("image_location");
私の推測では、Slim出力時にデータに何かが起きるが、わからない。最悪のシナリオ私はちょうどテンプレートを作成し、ベース64をimg srcとして出力します。私はそれを避けようとしていました。
UPDATE調査の結果、content-typeがtext/htmlにリセットされているように見えますが、その理由はわかりません。どんな洞察も歓迎です。