- 论坛徽章:
- 0
|
在前面的章节中已经认识了 Resolution 接口,这一章将使用StreamingResolution 实现文件下载。
创建一个 ActionBean。
public class DownloadActionBean extends BaseActionBean {
@Validate(required=true)
private String filename;
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public Resolution download() {
return new StreamingResolution("application/octet-stream", buildDowloadSource()).setFilename(filename);
}
public InputStream buildDowloadSource() {
String rootPath = getContext().getServletContext().getRealPath("/");
String filePath = rootPath + "/public/Fedora.png";
try {
return new FileInputStream(filePath);
} catch (FileNotFoundException ex) {
getContext().getValidationErrors().addGlobalError(new SimpleError("Can not found file!"));
}
return null;
}
}
当 StreamingResolution 设置了filename 属性时,会自动弹出下载文件确认框。
创建下载页面,提供下载链接。
Download File Page
Download File!
Fedora BackGround:
这里将一张图片放入项目程序的根目录下的 /public下。运行程序进行测试。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1096/showart_1878436.html |
|