java web项目实现文件下载实例代码
程序员文章站
2023-12-20 22:13:58
复制代码 代码如下:file file = new file(path);// path是根据日志路径和文件名拼接出来的 string...
复制代码 代码如下:
file file = new file(path);// path是根据日志路径和文件名拼接出来的
string filename = file.getname();// 获取日志文件名称
inputstream fis = new bufferedinputstream(new fileinputstream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
// 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名
response.addheader("content-disposition", "attachment;filename=" + new string(filename.replaceall(" ", "").getbytes("utf-8"),"iso8859-1"));
response.addheader("content-length", "" + file.length());
outputstream os = new bufferedoutputstream(response.getoutputstream());
response.setcontenttype("application/octet-stream");
os.write(buffer);// 输出文件
os.flush();
os.close();
struts2.0中,可以使用public void downloadfile(){}这种方法,返回值类型为void,调用时,直接写downloadfile.do就可以出现下载提示框