大家在项目当中经常要使用文件的上传下载功能
文件上传可以参考我写的fileupload组件使用方法
在这里,主要分享的文件的下载功能。对于文件下载最简单的方法是直接给出一个文件的url地址,但是这种方式有一个弊端,就是如果文件是浏览器可以解析的类型,将会直接打开,所以在这里,我们用上java的io方式来进行文件的下载
具体代码如下
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try{
File file = new File("D:/test.txt");
byte[] buffer = new byte[2048];
int len = 0;
BufferedInputStream bis = null;
OutputStream os = null;
resp.reset();
resp.setContentType("application/x-msdownload");
resp.setHeader("Content-Disposition", "attachment; filename=test.txt");
bis = new BufferedInputStream(new FileInputStream(file));
os = resp.getOutputStream();
while(-1 != (len = bis.read(buffer))) {
os.write(buffer,0,len);
}
}
catch(Exception e){
}
finally {
bis.close();
}
}
文件上传可以参考我写的fileupload组件使用方法
在这里,主要分享的文件的下载功能。对于文件下载最简单的方法是直接给出一个文件的url地址,但是这种方式有一个弊端,就是如果文件是浏览器可以解析的类型,将会直接打开,所以在这里,我们用上java的io方式来进行文件的下载
具体代码如下
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try{
File file = new File("D:/test.txt");
byte[] buffer = new byte[2048];
int len = 0;
BufferedInputStream bis = null;
OutputStream os = null;
resp.reset();
resp.setContentType("application/x-msdownload");
resp.setHeader("Content-Disposition", "attachment; filename=test.txt");
bis = new BufferedInputStream(new FileInputStream(file));
os = resp.getOutputStream();
while(-1 != (len = bis.read(buffer))) {
os.write(buffer,0,len);
}
}
catch(Exception e){
}
finally {
bis.close();
}
}