页面写法:
<a href="http://localhost:8080/download">下载文件</a>
java 服务的写法:
@RequestMapping( value = "/download", method = RequestMethod.GET )
public void testDownload( HttpServletResponse res ) {
String fileName = "upload.jpg";
res.setHeader("content-type", "application/octet-stream");
res.setContentType("application/octet-stream");
res.setHeader("Content-Disposition", "attachment; filename=" + fileName);
byte[] buff = new byte[1024];
BufferedInputStream bis = null;
OutputStream os = null;
try {
os = res.getOutputStream();
bis = new BufferedInputStream(new FileInputStream(
new File("d://" + fileName )));
int i = bis.read(buff);
while (i != -1) {
os.write(buff, 0, buff.length);
os.flush();
i = bis.read(buff);
}
} catch ( IOException e ) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("export file finish");
}
}
本文介绍了一个使用Java实现的文件下载功能。通过一个简单的示例展示了如何设置HTTP响应头以允许客户端下载指定文件,并提供了从本地文件系统读取文件并发送到客户端的完整代码。
1893





