Отправка файла POST

1. user703620_irina-kulikova 18.09.24 06:59 Сейчас в теме
После отправки файла, в названии файла (если есть латинские буквы) превращает в каракули. Что делать? Где указать кодировку "utf8" еще???

массивФайлов = Новый Массив;
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
имяФайлаСПараметрами = ПолучитьИмяВременногоФайла("txt");
ЗаписьТекста = Новый ЗаписьТекста(имяФайлаСПараметрами, КодировкаТекста.UTF8);
ЗаписьТекста.ЗаписатьСтроку("--"+boundary);
ЗаписьТекста.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; fileName="""+НазаваниеФайла+"""");
ЗаписьТекста.ЗаписатьСтроку("Content-Type: application/pdf; charset=utf-8");
ЗаписьТекста.ЗаписатьСтроку("");
ЗаписьТекста.Закрыть();
имяФайлаОтправки = ПолучитьИмяВременногоФайла("txt");
ОбъединитьФайлы(массивФайлов, имяФайлаОтправки);

ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type", "multipart/form-data; boundary="+boundary);
Заголовки.Вставить("Content-Lenght", РазмерФайлаОтправки);


Соединение = Новый HTTPСоединение(Хост,,,,,, Сертификат);
ВебЗапрос = Новый HTTPЗапрос(Адрес,Заголовки);

ВебЗапрос.УстановитьИмяФайлаТела(ФайлОтправки.ПолноеИмя);


Ответ = Соединение.ОтправитьДляОбработки(ВебЗапрос);
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Sashares 35 18.09.24 09:47 Сейчас в теме
2. Vlan 36 18.09.24 08:08 Сейчас в теме
Попробуйте с кодировками поиграться. У меня как-то была обратная задача: из кракозябров UTF получить win.

Функция ПерекодироватьТекст(КодируемыйТекст, НачальнаяКодировка = "utf-8", КонечнаяКодировка = "windows-1251")
    ВремФайл=ПолучитьИмяВременногоФайла("txt");
    ТекстДляПерекодирования=Новый ТекстовыйДокумент;        
    ТекстДляПерекодирования.УстановитьТипФайла(НачальнаяКодировка);
    ТекстДляПерекодирования.УстановитьТекст(КодируемыйТекст);
    ТекстДляПерекодирования.Записать(времФайл, НачальнаяКодировка);
    ТекстДляПерекодирования=Новый ТекстовыйДокумент;        
    ТекстДляПерекодирования.Прочитать(ВремФайл, КонечнаяКодировка);
    НовыйТекст=ТекстДляПерекодирования.ПолучитьТекст();
    УдалитьФайлы(ВремФайл);
    Возврат НовыйТекст;
КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот