图像已损坏

时间:2012-11-27 19:08:52

标签: java httpresponse httpserver

我正在创建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中工作,但没有图像 能不能指出我做错了什么

1 个答案:

答案 0 :(得分:0)

如果混合文本和二进制文件,则肯定会破坏数据。例如,US-ASCII只有7位,任何设置了最高位的字节都将被破坏。

您应尝试在不使用字符串或文本的情况下发送图像以避免损坏。