CFHTTP для получения встроенного PDF-файла для cfmail - mailparam

Хорошо, я не уверен в этом и надеюсь получить некоторое представление. В некоторой степени философия больше, чем вопрос кодирования, специфичный для кода. Это реально или мне нужно сделать что-то совсем другое?

Я хочу встроить PDF-файл в электронное письмо, как описано в блоге Рэя Ray Camden Post Я пытаюсь получить PDF-файл из динамического генератора (существующий код), а НЕ генерирую его на странице, как описано в Ray .

В основном у меня есть URL-адрес (http://blah.com/index.cfm?pdfId=490) (Настоящий URL-адрес является частным) Он работает в браузере, я получаю PDF-файл, который отлично открывается в браузере.

Когда я пытаюсь открыть с помощью CFHTTP, я не получаю никаких двоичных данных.

<cfhttp url="#arguments.url#"
getasbinary="auto" method="get" 
result="urlContent"></cfhttp>

"FileContent" (пустой/нулевой) "Заголовок" (HTTP/1.1 200 OK...) "mimetype" (текст, а не pdf) "Статус" (200)

Может кто-нибудь объяснить мне, что происходит с браузером .... т.е. почему я не получаю PDF (файл/CFHTTP), когда работает общая ссылка?

Должен ли я принудительно использовать «бинарный» (я ожидал, что автоматический режим будет работать)? Браузер выдает новый запрос? К вашему сведению, я использую CF 9.0.2 (для разработчиков)


person user3005033    schedule 24.10.2014    source источник
comment
RE: Должен ли я форсировать "двоичный"...? Является ли результат всегда двоичным? Что происходит, когда вы пытаетесь это сделать? RE: Это работает в браузере Является ли URL-адрес внешним по отношению к вашему сайту? Если да, проверили ли вы перенаправление? Используйте что-нибудь Live HTTP Headers FF, чтобы проверить успешный HTTP-запрос от браузера. Возможно, сайт перенаправляет или требует определенных заголовков, например, пользовательского агента (просто предположение).   -  person Leigh    schedule 25.10.2014
comment
Клянусь, я помню баг с выводом бинарных данных из cfhttp. Значение было в порядке, оно просто не работало, если вы выводили его. Если вы на самом деле сохраните значение и дважды щелкните его в файловой системе, будет ли это допустимым PDF-файлом?   -  person Raymond Camden    schedule 27.10.2014
comment
Когда я (принудительно) посмотрел на это в отладчике, это была короткая строка, например {ED323A Недостаточно длинная, чтобы быть PDF. Я подозреваю, что вы правы, может быть ошибка. Я собираюсь дать ему еще один удар Firebug, проверить перенаправление. (Любопытно посмотреть, что произойдет с этим ходом мыслей.   -  person user3005033    schedule 27.10.2014
comment
@ user3005033 - Вы получите тот же результат, если попытаетесь сохранить его в файл, как предложил Рэймонд? Я не думал об этом, но ошибка определенно возможна.   -  person Leigh    schedule 27.10.2014
comment
Хорошо, код больше похож на [@234d232321 (место памяти?). Я пытаюсь избежать перехода на дисковый (многоуровневый многоэкземплярный) сервер с балансировкой нагрузки. Я дважды проверил ссылку, она правильная, дает type=application/PDF(browser) vs text/html в отладчике.   -  person user3005033    schedule 27.10.2014
comment
Комментарии не любят энтер... так или иначе, сохранение на диск дало экран входа в систему... либо фреймворк выдал ошибку, либо мне нужна сессия. (Ссылка в формате PDF работает без сеанса, поэтому не уверен, зарегистрируйте ли сертификат? (http) Что-то отличается от CF по сравнению с браузером. Может   -  person user3005033    schedule 27.10.2014
comment
ПЕБКАЦ. - Скрытый сеанс держал браузер в сети, нет (другого) сеанса для обращения CF к самому себе. (тайное скрытое сервисное мероприятие должно вылечить недуги)   -  person user3005033    schedule 27.10.2014


Ответы (1)


Думаю, Ли и Рэй ответили на вопрос или помогли мне решить проблему. Во время отладки сохранение результатов на диск (а не просмотр их в отладчике...) было ключом к обнаружению моей ошибки.

Это и хороший отдых на выходных творили чудеса!

person user3005033    schedule 27.10.2014