我正在创建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中工作,但没有图像 能不能指出我做错了什么
答案 0 :(得分:0)
如果混合文本和二进制文件,则肯定会破坏数据。例如,US-ASCII只有7位,任何设置了最高位的字节都将被破坏。
您应尝试在不使用字符串或文本的情况下发送图像以避免损坏。