Проблема с Люси на изображении - PullRequest
1 голос
/ 16 марта 2019

Я получаю очень странную ошибку в Lucee для оптимизации изображений, я сохраняю изображения BLOB в базе данных Mysql

Поэтому я пытаюсь сделать это

Я получаю ошибкув Lucee по этому коду;

<cfset myImage = imageReadBase64(uploadimage_attachment)>
<cfimage action="write" overwrite="yes" destination="#ExpandPath('optimizeImagesDir/#id#.jpg')#" source="#myImage#">

и это ошибка: org.apache.commons.imaging.ImageReadException:Can't parse this format.

1 Ответ

0 голосов
/ 28 марта 2019

Похоже, сохраненные данные не являются действительным изображением.Возможно, вам потребуется использовать запрос на вставку, как показано ниже (с queryparam типа blob).Также вам нужно использовать imageGetBlob() для преобразования данных в BLOB.

<cfset obsolutePathOfImage = "D:/foo.jpg">
<cfset imageVariable = imageRead(obsolutePathOfImage)>
<cfquery datasource="test">
    INSERT INTO uploads( myimage )
    VALUES ( <cfqueryparam value="#imageGetBlob(imageVariable)#" cfsqltype="cf_sql_blob"> )
</cfquery>

И, наконец, вам нужно использовать функцию imageNew(), чтобы создать переменную изображения из BLOB данных.

<!--- "data" is the name of the query variable & "myimage" is the name of the DB column --->
<cfset filePath = D:/foo_from_DB.jpg>
<cfset myImageVar = imageNew(data.myimage)>
<cfimage action="write" overwrite="yes" destination="#filePath#" source="#myImageVar#">
...