发新话题
移动帖子 加入精华 加入置顶 加入收藏 关注此帖

一段读取本地文件,然后输出的代码(File,JSP)



一段读取本地文件,然后输出的代码(File,JSP)

out.clearBuffer(); // 如果使用JSP,需要加上这一句
OutputStream os = response.getOutputStream(); // 页面输出流,jsp/servlet都可以
response.addHeader("Content-Disposition", new String(("attachment; filename=" + filename).getBytes("GBK"),
              "ISO-8859-1")); // 针对中文文件名
File f = new File("d:/temp/123456.gif"); // 你的文件
InputStream is = new FileInputStream(f); // 文件输入流
byte[] bs = new byte[1024];  // 读取缓冲区
int len;
while((len=is.read(bs))!=-1){ // 循环读取
  os.write(bs,0,len); // 写入到输出流
}
is.close();  // 关闭
os.close(); // 关闭
JAVA世纪网
愿意为喜欢JAVA的朋友提供一点帮助
编辑 回复 快速回复 TOP

Re:一段读取本地文件,然后输出的代码

我用了你的代码
model = manager.getSoftInfoById(softId);
manager.addHits(softId);
out.clearBuffer(); // 如果使用JSP,需要加上这一句
OutputStream os = response.getOutputStream(); // 页面输出流,jsp/servlet都可以
File f = new File(model.getUrl()); // 你的文件
InputStream is = new FileInputStream(f); // 文件输入流
byte[] bs = new byte[1024]; // 读取缓冲区
int len;
while((len=is.read(bs))!=-1){ // 循环读取
os.write(bs,0,len); // 写入到输出流
}
is.close(); // 关闭
os.close();
然后它报IE无法下载,无法打开站点,请求不可用。
是什么原因呀
帅啊
编辑 回复 快速回复 TOP

Re:一段读取本地文件,然后输出的代码

你是不是直接选择打开了?

我发现用这种方式下载的,必须另存为本地后才能打开。
JAVA世纪网
愿意为喜欢JAVA的朋友提供一点帮助
编辑 回复 快速回复 TOP
发新话题