0

私はhttpServerを作成しており、ファイルサーバー部分の作成を完了しました。
しかし、画像をダウンロードするときに問題が発生します。

        FileInputStream fis = new FileInputStream(file_path);

        output = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];

        int n = 0;
        while (-1 != (n = fis.read(buffer))) {
            output.write(buffer, 0, n);
        }
        data = output.toByteArray();
         body = new String(data);

 return body

レスポンスの本文を元のメソッドに戻します。

    // body is return value from above code, header is also  another String return value from 
    // makeHeader method
    String response = header + body;   
     byte[] Response = null;
   try{
      Response = response.getBytes("US-ASCII");
     }catch (UnsupportedEncodingException e) {}

      return Response

私のサーバーは、テキスト ファイル、.html、.css に関しては機能していますが、画像に関しては機能していません。
私が何を間違えたのか教えてください

4

1 に答える 1

0

テキストとバイナリを混在させると、必ずデータが破損します。たとえば、US-ASCIIはわずか7ビットであり、最上位ビットが設定されているバイトはすべて破損します。

破損を防ぐために、文字列やテキストを使用せずに画像を送信するようにしてください。

于 2012-11-27T19:11:55.370 に答える