JSF - попытка загрузки PDF-файла, но он переписывает страницу со странными символами [duplicate]

Вы можете добиться этого, изменив цветную линию следующим образом:

gradient.colors = [
    UIColor(white: 1.0, alpha: 0).cgColor,
    UIColor(white: 1.0, alpha: 1).cgColor,
    UIColor(white: 1.0, alpha: 0).cgColor
]

Или, если вы хотите иметь еще больший контроль над своим градиентом, вы также можете использовать приведенный ниже код и поиграть с местоположение и / или цветные альфа-значения:

let gradient = CAGradientLayer()
gradient.frame = view.bounds
gradient.colors = [
    UIColor(white: 1, alpha: 0).cgColor,
    UIColor(white: 1, alpha: 1).cgColor,
    UIColor(white: 1, alpha: 1).cgColor,
    UIColor(white: 1, alpha: 0).cgColor
]
gradient.locations = [0, 0.4, 0.6, 1]
view.layer.mask = gradient

Причина этого в документации;

Необязательный слой, альфа-канал которого используется для маскировки содержимого слоя.

Альфа-канал слоя определяет, сколько из уровня содержимого и фона отображается. Полностью или частично непрозрачные пиксели позволяют базовому содержимому показывать, но полностью прозрачные пиксели блокируют это содержимое.

0
задан Elena 20 November 2012 в 19:58
поделиться

1 ответ

Возможно, проблема в запросе - у него есть заголовок Faces-Request partial / ajax. Но я не уверен.

Это говорит о том, что запрос является ajax-запросом. Вы не можете скачивать файлы по ajax. Запросы Ajax обрабатываются с помощью JavaScript, который по очевидным соображениям безопасности не имеет возможности программно вызывать диалог Save As , а также для доступа к файловой системе клиента / управления файловой системой клиента.

Однако ваш фрагмент кода не показывать, что вы используете ajax. Возможно, вы слишком упростили его или используете ICEfaces, который автоматически активирует ajax для всех стандартных компонентов JSF-команд.

В любом случае вам нужно убедиться, что он не отправляет запрос ajax.

См. также:

3
ответ дан Community 28 August 2018 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: