0
sergqwert
29.09.20
✎
19:55
|
Не получается вставить рисунок в поле форматированного документа. Конфигурация БП 3.0. В чем проблема?
&НаКлиенте
Процедура ВставитьВТелоПисьма(Команда)
ДВФ = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Если ДВФ.Выбрать() Тогда
ДвДанныеФайла = Новый ДвоичныеДанные(ДВФ.ПолноеИмяФайла);
СкопироватьДвоичныеДанныеВБуФерВФорматеBase64(ДвДанныеФайла, ДВФ.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СкопироватьДвоичныеДанныевБуФерВФорматеBase64(ДвДанныеФайла, текИмяФайла)
текРасширениеФайла = ПолучитьРасширениеФайла(текИмяФайла);
Строка64 = "data:image/"+текРасширениеФайла+";base64,"+Base64Строка(ДвДанныеФайла);
ТекстHTMLКартинка = "<P><IMG alt="""" src="""+Строка64+""">";
ЗначениеВыбора = Элементы.ТелоПисьма.ПолучитьТекст();
ЗначениеВыбора = СтрЗаменить(ЗначениеВыбора, "</BODY>", ТекстHTMLКартинка + "</BODY>");
Картинки = Новый Структура();
ТелоПисьма.УстановитьHTML(ЗначениеВыбора,Картинки);
КонецПроцедуры
&НаСервере
Функция ПолучитьРасширениеФайла(ВхИмяФайла)
текРасширение = "jpg";
Если СокрЛП(ВхИмяФайла) <> "" И СтрЧислоВхождений(ВхИмяФайла, ".") > 0 Тогда
времРасширение = СокрЛП(СтрПолучитьСтроку(СтрЗаменить(ВхИмяФайла, ".", Символы.ПС), СтрЧислоСтрок(СтрЗаменить(ВхИмяФайла, ".", Символы.ПС))));
Если СокрЛП(времРасширение) <> "" Тогда
текРасширение = времРасширение;
КонецЕсли;
КонецЕсли;
Возврат текРасширение;
КонецФункции
|
|