Вместо этого вы можете выполнить загрузку файла методом действия компонента.Некоторые конкретные примеры см. В следующем ответе: Как обеспечить загрузку файла из вспомогательного компонента JSF?
Вам нужно только убедиться, что запрос не сделан Ajax, потому чтоязык JavaScript, отвечающий за обработку Ajax-запроса, не имеет каких-либо средств, чтобы вызвать диалог Сохранить как по соображениям безопасности.Поэтому для этого используйте обычный <h:commandLink>
или <h:commandButton>
.