java request 获取ua_JAVA 在request里取值,两次取的不一样

我是这么在request里取得值:

TargetFile targetFile = (TargetFile) request.getAttribute(TARGET_FILE);

然后这个方法分别在一览画面和详细画面调用过两次,方法如下

public ActionForward execute(ActionMapping mapping, ActionForm aform, HttpServletRequest request,

HttpServletResponse response) throws Exception {

SessionValidator.getAccount(request);

TargetFile targetFile = (TargetFile) request.getAttribute(TARGET_FILE);

if (targetFile == null) {

log.warn("Invalid request for FileDownloadAction");

return mapping.findForward("error");

}

try {

if (StringUtils.isBlank(targetFile.getRepositoryFileId())) {

log.warn("Invalid request for FileDownloadAction: targetFileName is blank: " + targetFile);

return mapping.findForward("error");

}

// Content-Type

String ct = targetFile.getContentType();

if (ct == null) {

ct = FILEDOWNLOAD_OCTET_TYPE;

}

InputStream in = targetFile.getInputStream(); // possibly exception, but never null.

File file = File.createTempFile("dnload", null);

try {

FileUtil.copyFileFromInputStream(in, file);

String uaStr = request.getHeader("User-Agent");

if (StringUtils.contains(uaStr, "iPhone") || StringUtils.contains(uaStr, "iPad")) {

downFileFromIpadOrIphone(ct, file, targetFile.getOriginalFilename(), request, response);

} else {

downFile(ct, file, targetFile.getOriginalFilename(), request, response);

}

} catch (FileNotFoundException e) {

log.error(String.format("TargetFile %s not found", targetFile.getRepositoryFileId()));

} finally {

file.delete();

}

} finally {

//@since 4.0.2

targetFile.closeInputStreamQuietly();

}

return null;

}

问题来了,在一览画面:

a8014314a8d4fec29ff27d0de76f603e.png

在详细画面:

6f585ecb55e7021b2ee718d4eb21a1b3.png

在详细画面那个originalFilename为什么是空啊?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值