浏览器保存文件出现问题, 请各位达人帮忙, 谢谢!
我在网上找了个在客户端保存服务器上文件的例子如下:
<%@ page import="java.io.*"%>
<%
String filepath = (String)request.getAttribute("url");
String filename = (String)request.getAttribute("filename");
if(filepath == null)
out.print("<b>can not open null file</b>");
File file = new File(session.getServletContext().getRealPath("/") + "/" +filepath);
FileInputStream fis = new FileInputStream(file);
int i = 0;
response.setContentType("Application/octec-stream");
response.setHeader("content-disposition", "attachment;filename=" + filename);
//int j = 0;
while((i = fis.read()) != -1)
{
out.write(i);
//if(j++ < 2)
//System.out.println(i);
}
fis.close();
out.close();
%>
目前程序工作不正常, 每个被保存的文件比实际文件多出2个字节的内容(OD OA), 比如说我有一个a.rar他实际开头的2个字节应该是:0X52 0X61
但当我保存到客户端时, 前两个字节变成了0XOD 0XOA, 接下来才是0X52 0X61.
我不知道这多余的两个字节从何而来, 我将上面的注释去掉, 在控制台打印前两个字节得到的结果是:0X52 0X61, 这正是我期望的字节序列, 可是当我保存
到客户端怎么就多出两个字节0XOD 0XOA呢?
请各位大哥帮忙看看, 给出具体方案.
分不够可以加, 谢谢!