2013-06-28 3 views
1

Я пишу PDF динамически, и я создать QR-код на документе для целей билетамcfimage из двоичной в cfdocument

я установил мой cfdocument localurl = да включить другое изображение, которое работает отлично, но так как Я использую вызов API, чтобы получить двоичный файл для QRcode, с помощью cfimage, чтобы отобразить изображение, оно только показывает красный X

<cfdocument format="PDF" overwrite="Yes" localUrl="yes" pageType = "letter"> 
<body> 
<cfoutput> 
<section id="header"> 

<img src="file:///#ExpandPath('images/header.png')#"/> 
<cfimage action="writeToBrowser" source="#rc.qrCode#" /> 
</cfoutput> 
</body> 
</html> 
</cfdocument> 

переменная rc.qrCode источника является бинарным ответом, который работает прекрасно до тех пор, Я размещаю внутри cfdocument, он генерирует такой URL-адрес http://mysite/CFFileServlet/_cf_image/_cfimg-7945382145198648283.PNG как источник изображения

Я уверен, что у этого есть todo с localurl и файл: ///, я просто недостаточно осведомлен, чтобы знать, почему

ответ

0

Не нужно использовать физический путь, а используйте относительный путь к вашей странице. , например. Если код в index.cfm корневой папки и изображений внутри изображения папки

< попробовать IMG SRC = «изображения/header.png»> Обратите внимание, что он не должен начинаться с корневым путем, а по отношению к файлу.

UPDATE

writetoBrowser внутренне записать файл на жесткий диск, чтобы это временное место (наружно, C: \ ColdFusion10 \ cfusion \ tmpCache \ CFFileServlet) и при визуализации его в браузере его использовать относительный путь, как «/ CFFileServlet /_cf_image/_cfimg1592404668342998556.PNG ", вы можете сказать, что ColdFusion внутренне отображает каталог CFFileServlet со всем сайтом coldfusion, но замечает ведущую косую черту, и это вызывает проблему с localurl = true. Так как localurl = true либо требуется физический путь или относительный путь к вашему документу.

Хорошая идея, а не writetobrowser, вы можете записать одно и то же изображение на жесткий диск в своем местоположении и указать физический путь в теге img. Я не делаю этого с проблемой производительности, поскольку ColdFusion делает то же самое, когда вы используете атрибут writetobrowser :)

+0

Проблема не связана с изображениями/header.png, с использованием тега cfimage для преобразования двоичного изображения в изображение, который создает временный файл на CfFileservlet –

+0

Извините, я неправильно разобрал ваш вопрос. Я обновил свой ответ. –