0

サーバーの起動時にページ配列にロードされるページと静的ページを動的に提供するサーバーを作成しました。サーバーはページを正常に提供するため、配信は機能しています。

画像は、img タグの src 属性に置かれたランダムな名前でページがリクエストされたときに画像配列に置かれたデータベースから取得され、ランダムな名前でリクエストされたときに画像配列から提供されます。これらはイメージ配列から取り出されるため、セキュリティ機能として 1 回だけアクセスされます。画像は画像配列に出入りしており、画像はブラウザに送信されています。ブラウザ (Firefox) に、「エラーが含まれているため、画像を表示できません」のようなメッセージが表示されます。また、出力ストリームがフラッシュされているので、それとは何の関係もないと思います。

画像配列に配置される前に、ヘッダーは次のようにエンコードされ (\n) 挿入され、さらに明確になります。

    HTTP/1.1 200 OK
    Content-Length: 18803
    Content-Encoding: base64
    Content-Type: image/png;"/2033.png"(\n\n)

残りはバイト単位の画像になります。ページが現在送信されているのと同じ方法で、バイトとしてブラウザーに送信されます。上記の行の複数のバリエーションをさまざまな値などで試しました。

私が間違っていることについてのアイデアはありますか?

4

1 に答える 1

0

わかりました.. \r\n を間違った順序で使用していたことがわかりました。

これは私が持っていたものです:

final private String newLine = "\n\r";

これは私が持っていたはずのものです:

final private String newLine = "\r\n";

これにより、間違った場所に余分なスペースが生じていました。これは、html ページでは許容されていましたが、画像では許容されていませんでした。これが誰かに役立つことを願っています。

于 2012-09-08T00:53:59.487 に答える