|
楼主 |
发表于 2024-5-22 16:35:19
|
显示全部楼层
你好,今天有出现了这个问题。Biz日志我附件,超时判断了。是直接跳过了,请问这个还要怎么处理呢?请帮忙指导下。
.J文件入下。
public class DownloadFile extends com.justep.ui.impl.JProcessorImpl {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String bSessionID = NetUtils.getBSessionID(request);
// 判断bsessionid是否超时
ActionResult checkResult = ActionEngine.checkSession(bSessionID, ActionUtils.JSON_CONTENT_TYPE);
if (checkResult.isSessionTimeOut()) {
// 超时
} else {
String fileName = request.getParameter("fileName");
// String fullName = request.getParameter("fullName");
String language = NetUtils.getLanguage(request);
// 在返回的头部信息中,指定以附件方式下载,并指定文件名
String downFileName = java.net.URLEncoder.encode(fileName, "UTF8");
downFileName = downFileName.replaceAll("\\+", "%20");
response.addHeader("Content-disposition", "attachment;filename=\"" + downFileName + "\";");
// 构造动作对象
Action action = new Action();
action.setProcess(request.getParameter("process"));
action.setActivity(request.getParameter("activity"));
action.setName(request.getParameter("action"));
action.setExecutor(request.getParameter("executor"));
action.setParameter("fileName", request.getParameter("fileName"));
action.setParameter("fullName", request.getParameter("fullName"));
// 调用动作
ActionEngine.invokeAction(action, ActionUtils.BINARY_CONTENT_TYPE, // 返回数据格式
bSessionID, // bsessionid是必须的
language, // 语言
new StreamCallback(response) // 以流的方式返回
);
}
}
|
|