Java:无法更改Header中的“Content-Disposition”属性以获取响应

时间:2011-08-03 12:39:50

标签: java http-headers

以下是代码:

Resource resource = getResource(request, requestUrl, userInfo, objectIdParam,
        rootFolderId, pathInfo, overrideCharset, isThumbnailResource);

// New line added to change Content-Disposition
response.setHeader( "Content-Disposition", "attachment;filename=" + pathInfo );

if (resource != null && resource.isServable()) {
    resource.serve(request, response);
}

如您所见,我已明确尝试将“内容处置”更改为“标题”中的“附件”。但是,当我打开MS Office文档时,HTTP标头数据将其显示为“内联”: 内容处理:内联;文件名= “新%20Microsoft%20Office%20Word%20Document.docx”

你认为我应该做些什么来做对吗?

1 个答案:

答案 0 :(得分:1)

我怀疑resource.serve方法调用会在内部用自己的值覆盖标题。

The javadoc说:

  

如果已设置标头,则新值将覆盖   前一个。 containsHeader方法可用于测试   在设置其值之前存在标题。