关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题

生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourcename)%>" id="imgscanhref_file234" target="_blank"><%=messages.getMessage("fileUploadCanDownload")%></a>,即将下载image.jsp页面。
所以我们可以在写规则时,定义变量filesource为文件地址,在自动生成JSP页面,将超链接改为:<a href="<%=filesource%>" id="imgscanhref_file234" target="_blank"><%=messages.getMessage("fileUploadCanDownload")%></a>,那么这个超链接就可以进行下载文件了。
当然,为了防止资源直接暴露给客户,我们可以采用RequestDispatcher的方式进行,流程如下:
<% 
  response.setContentType("application/x-download");//设置为下载application/x-download 
  String filedownload = "/要下载的文件名";//即将下载的文件的相对路径 
  String filedisplay = "最终要显示给用户的保存文件名";//下载文件时显示的文件保存名称 
  String filenamedisplay = URLEncoder.encode(filedisplay,"UTF-8"); 
  response.addHeader("Content-Disposition","attachment;filename=" + filedisplay); 
    
  try 
  { 
  RequestDispatcher dis = application.getRequestDispatcher(filedownload); 
  if(dis!= null) 
  { 
  dis.forward(request,response); 
  } 
  response.flushBuffer(); 
  } 
  catch(Exception e) 
  { 
  e.printStackTrace(); 
  } 
  finally 
  { 
    
  } 
%> 
具体的操作都是类似的。

猜你喜欢

转载自1990994609.iteye.com/blog/2224005