Потоковое cfcontent из изображения? - PullRequest
2 голосов
/ 08 сентября 2011

Позвольте мне просто сказать сверху, что я не уверен, что я действительно понимаю, что делает cfcontent ... так что терпите меня, если это глупый вопрос.

Я использовал cfcontent дляпотоковое изображение вне моего веб-корня в браузер.Я решил, что теперь хочу сохранить изображение в переменной, отобразить его, иметь возможность изменять его, просматривать эти изменения и фиксировать измененную переменную только тогда, когда я уверен, что изменения мне понравятся.Я думал, что мог бы использовать cfcontent для потоковой передачи изображения из переменной, а затем отобразить, изменить, повторно отобразить и сохранить это изображение из переменной.Мой оригинальный код был просто:

<img id="photoPlaceholder" 
    src="/#application.root_name#/administration/PhotoManagement/displayPhoto.cfm?thisImage=#thisImage#" 
    width="500px" />

и displayPhoto.cfm состоял из:

<cfcontent type = "image/*" 
    file = "myPathName" 
    deleteFile = "No" />

Я вижу, что могу прочитать файл в переменную и поток из этой переменной:

<cffile action="readBinary" file="myPathName" variable="fileObject" />
<cfcontent type="image/*" variable="#fileObject#" />

, но если я сделаю промежуточный шаг по созданию изображения с использованием

<cfimage source="fileObject" name="myImage" />
<cfcontent type="image/*" variable="#myImage#" />

, то получу ошибку проверки атрибута.

Есть мысли?

1 Ответ

4 голосов
/ 08 сентября 2011

ImageGetBlob ()?

Если подумать - это имеет смысл. Переменные изображения не двоичные данные в ColdFusion. Хотя они могут хранить двоичные данные, ColdFusion упаковывает данные в новый тип переменной «Image».

http://www.coldfusionjedi.com/index.cfm/2007/9/14/Serving-up-CFIMages-via-Image-Tags-and-a-NonCF-Friday-contest

Если вы используете CF9, вы можете сначала попытаться записать образ на диск RAM://, обслужить его и удалить из ОЗУ.

...