Java: невозможно изменить атрибут «Content-Disposition» в заголовке для ответа - PullRequest
0 голосов
/ 03 августа 2011

Ниже приведен код:

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);
}

Как видите, я явно пытался изменить «Content-Disposition» на «attachment» в заголовке. Но все же, когда я открываю документ MS Office, данные заголовка HTTP показывают его как «встроенный»: Содержание-Диспозиция: встроенная; имя файла = "Новый% 20Microsoft% 20Office% 20Word% 20Document.docx"

Как вы думаете, я должен сделать что-нибудь еще, чтобы исправить это?

1 Ответ

1 голос
/ 03 августа 2011

Я подозреваю, что вызов метода resource.serve внутренне перезаписывает заголовок своим собственным значением.

Javadoc говорит:

Если заголовок имелуже установлено, новое значение заменяет предыдущее.Метод containsHeader может использоваться для проверки наличия заголовка перед установкой его значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...