文件上传下载时如何弹出对话框

阅读更多
以下直接贴出源码:
/**
* 帮助文档下载打开
*/
public void export() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
String role = (String) ActionContext.getContext().getSession().get("role");
String fileName = null;
if (role.equals(SystemManagerRole.SUPER_MANAGER_ROLE)) {
fileName = "propManual.doc";
} else if (role.equals(SystemManagerRole.COMMON_OWNER_ROLE)) {
fileName = "ownerManual.doc";
} else if (role.equals(SystemManagerRole.DISTRICT_MANAGER))  {
fileName = "disManual.doc";
}
response.setContentType("application/octet-stream");
        response.setContentType("application/OCTET-STREAM;charset=UTF-8");
        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
        HttpServletRequest request = ServletActionContext.getRequest();
String requestUrl = request.getRequestURL().toString();
URL url = new URL(requestUrl.substring(0, requestUrl.lastIndexOf("/")) + fileName);
       
downloadNet(response, url);
}

public void downloadNet(HttpServletResponse response, URL url)
throws MalformedURLException {

// 下载网络文件
int byteread = 0;
try {
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
OutputStream fs = response.getOutputStream();
byte[] buffer = new byte[1204];
while ((byteread = inStream.read(buffer)) != -1) {
fs.write(buffer, 0, byteread);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

红色为设置打开对话框关键代码!

你可能感兴趣的:(文件,下载,对话框)