Всем привет,
вот задача из жизни.
есть поле Rich Text Area(32768). в нем лежит картинка .jpg file
ее нужно отправить на SOAP сервис.
А он принимает картинку в виде поля типа type="xsd:base64Binary"
<element name="BASE64STREAM" type="xsd:base64Binary" />
плюс вот еще что пишут в инструкции:
This image .jpg file should be encoded with the base64 encoding algorithm, so the web service will convert the data from base64 to binary .jpg file.
Как конвертировать value из поля Rich Text Area(32768) в "base64Binary" если там лежит картинка?
Да и нужно ли это?
еще не дошел до этого вопроса, настраиваю клиент в целом,
но не знаю с чем столкнусь при попытки отправить...
да и проверить результат сложно - нужно логится во внеш систему и там смотреть как получилась картинка
Всем привет, вот задача из жизни. есть поле Rich Text Area(32768). в нем лежит картинка .jpg file ее нужно отправить на SOAP сервис. А он принимает картинку в виде поля типа type="xsd:base64Binary" <element name="BASE64STREAM" type="xsd:base64Binary" /> плюс вот еще что пишут в инструкции: This image .jpg file should be encoded with the base64 encoding algorithm, so the web service will convert the data from base64 to binary .jpg file. Как конвертировать value из поля Rich Text Area(32768) в "base64Binary" если там лежит картинка? Да и нужно ли это? еще не дошел до этого вопроса, настраиваю клиент в целом, но не знаю с чем столкнусь при попытки отправить... да и проверить результат сложно - нужно логится во внеш систему и там смотреть как получилась картинка
имхо нужно попробовать base64 методы из EncodingUtils
[quote="Den Brown"]Всем привет, вот задача из жизни. есть поле Rich Text Area(32768). в нем лежит картинка .jpg file ее нужно отправить на SOAP сервис. А он принимает картинку в виде поля типа type="xsd:base64Binary" <element name="BASE64STREAM" type="xsd:base64Binary" /> плюс вот еще что пишут в инструкции: This image .jpg file should be encoded with the base64 encoding algorithm, so the web service will convert the data from base64 to binary .jpg file. Как конвертировать value из поля Rich Text Area(32768) в "base64Binary" если там лежит картинка? Да и нужно ли это? еще не дошел до этого вопроса, настраиваю клиент в целом, но не знаю с чем столкнусь при попытки отправить... да и проверить результат сложно - нужно логится во внеш систему и там смотреть как получилась картинка[/quote][quote="Den Brown"]Всем привет, вот задача из жизни. есть поле Rich Text Area(32768). в нем лежит картинка .jpg file ее нужно отправить на SOAP сервис. А он принимает картинку в виде поля типа type="xsd:base64Binary" <element name="BASE64STREAM" type="xsd:base64Binary" /> плюс вот еще что пишут в инструкции: This image .jpg file should be encoded with the base64 encoding algorithm, so the web service will convert the data from base64 to binary .jpg file. Как конвертировать value из поля Rich Text Area(32768) в "base64Binary" если там лежит картинка? Да и нужно ли это? еще не дошел до этого вопроса, настраиваю клиент в целом, но не знаю с чем столкнусь при попытки отправить... да и проверить результат сложно - нужно логится во внеш систему и там смотреть как получилась картинка[/quote] имхо нужно попробовать base64 методы из EncodingUtils
[quote="Den Brown"]Всем привет, вот задача из жизни. есть поле Rich Text Area(32768). в нем лежит картинка .jpg file ее нужно отправить на SOAP сервис. А он принимает картинку в виде поля типа type="xsd:base64Binary" <element name="BASE64STREAM" type="xsd:base64Binary" /> плюс вот еще что пишут в инструкции: This image .jpg file should be encoded with the base64 encoding algorithm, so the web service will convert the data from base64 to binary .jpg file. Как конвертировать value из поля Rich Text Area(32768) в "base64Binary" если там лежит картинка? Да и нужно ли это? еще не дошел до этого вопроса, настраиваю клиент в целом, но не знаю с чем столкнусь при попытки отправить... да и проверить результат сложно - нужно логится во внеш систему и там смотреть как получилась картинка[/quote] [url=http://developer.force.com/cookbook/recipe/converting-a-rich-text-area-fields-image-for-api-upload]Click[/url]
что-то я запутался с этим.
я вывел содержимое поля Rich Text Area с картинкой в дебаг лог и там... лежит тег на картинку:
<img alt="User-added image" src="https://mydomen.cs12.content.force.com/servlet/rtaImage?eid=a13Z0000115nQQT&feoid=00NZ0013101QaS6&refid=0EMZ00000711ZD0" style="height: 300px; width: 500px;"></img>
а как саму то картинку (файл) взять в переменную в APEX коде??
если этот src урл скопировать в адресную строку браузера, то ничего не подгружается...
для пробы взял тело Аттачмента с картинкой и конвертировал этот блоб вот так:
String MyBase64 = EncodingUtil.base64Encode(attachPicture.Body);
вроде работает - web service отвечает что картинка принята.
но как добраться до картинки в Rich Text Field...
[quote="Maxim Elets"]имхо нужно попробовать base64 методы из EncodingUtils[/quote] [quote="wilder"] [url=http://developer.force.com/cookbook/recipe/converting-a-rich-text-area-fields-image-for-api-upload]Click[/url][/quote] что-то я запутался с этим. я вывел содержимое поля Rich Text Area с картинкой в дебаг лог и там... лежит тег на картинку: [code]<img alt="User-added image" src="https://mydomen.cs12.content.force.com/servlet/rtaImage?eid=a13Z0000115nQQT&feoid=00NZ0013101QaS6&refid=0EMZ00000711ZD0" style="height: 300px; width: 500px;"></img>[/code] :o а как саму то картинку (файл) взять в переменную в APEX коде?? если этот src урл скопировать в адресную строку браузера, то ничего не подгружается... :( для пробы взял тело Аттачмента с картинкой и конвертировал этот блоб вот так: [code]String MyBase64 = EncodingUtil.base64Encode(attachPicture.Body);[/code] вроде работает - web service отвечает что картинка принята. но как добраться до картинки в Rich Text Field...
Ну я так понял, что из APEX кода к картинке лежащей в RTF поле никак не подобраться.
так что придется использовать приатаченные картинки
кстати я встретил альтернативный логический процесс:
хрони картинку в атаче, а тригер забрасывает ее в поле с формулой IMAGE, и она видима на лейауте.
вот найденные пример:
"IMAGE("/servlet/servlet.FileDownload?file="&Photo_Doc_ID__c, "EE Photo")"
не пробовал, не знаю как это работает, но звучит интересно
Ну я так понял, что из APEX кода к картинке лежащей в RTF поле никак не подобраться. так что придется использовать приатаченные картинки кстати я встретил альтернативный логический процесс: хрони картинку в атаче, а тригер забрасывает ее в поле с формулой IMAGE, и она видима на лейауте. вот найденные пример: "IMAGE("/servlet/servlet.FileDownload?file="&Photo_Doc_ID__c, "EE Photo")" не пробовал, не знаю как это работает, но звучит интересно