0

画像データを返すことを仕事とする残りの呼び出しがあります。

これは

サービス/イメージ/テスト

この REST 呼び出しは、パスが事前設定されたハードコーディングされたイメージを返します。

file_get_contents を使用してデータを読み取ります。

protected function processOutput($result, $success=false) {
        header('Content-Type: image/'.$result->imageType);
        echo $result->imageBytes;

processOutput() は、ブラウザーに何を返すかを決定するために REST 呼び出しが行われた後に呼び出されるものです。上記のコードのみが質問に関連しています。ここに貼り付けられたプロジェクトについては質問しないでください。:P

ブラウザーでレスト コールを実行すると、content-type: image/png セットが表示されます。

http://myProject/service/userImage/test

Response Headersview source
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Length:4363
Content-Type:image/png

予想どおり JS エラーがあります (これはブラウザが直接レンダリングするものを返さないためです (推測しますか?)

これが私がやっているときに私が見るものです

<img src="http://myProject/service/userImage/test"/>

ネットワークタブに戻ります:

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Length:2856
Content-Type:text/html

すべてのヘッダー設定が無視されるのはなぜですか? 404 ヘッダー文字列を入れることもできますが、それでも 200 OK リクエストとして表示されます... :(

単純に残りの呼び出しを行うときに画像が表示されないことが、これらすべての鍵ですか?

4

1 に答える 1

1

解決策:コードにPHP解析エラーがあり($を省略)、header()を設定すると、これが非表示になり、content-typeが設定したものから変更されることを知りませんでした。良いニュースはないと思いました。PHPは初めてです!

于 2012-09-24T19:07:46.643 に答える