Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Появляются лишние символы при отправке TIdMultiPartFormDataStream


mfender ©   (2013-08-06 18:22:00) 

Отправляю JSON в некотором поле:

.....
 MP := TIdMultiPartFormDataStream.Create;
 J := TJSONObject.Create;
 Mar := TJSONMarshal.Create(TJSONConverter.Create);
 try
   J := Mar.Marshal(P) as TJSONObject;
   showmessage(J.ToString);
   MP.AddFormField('JSON', J.ToString, 'utf-8');
   Memo1.Lines.Add(IdHTTP1.Post(_st.RemoteUrl, MP));
 finally
.....

Уходит нормально всё. На сервер приезжает строка, побитая после каждого 70-го байта таким странным набором символов: =\r\n(\0x3d\0x0d\0x0a).

Что к чему? Как избавиться?


mfender   (2013-08-06 22:22:00) [1]

Покурил маленько всемирный разум. Узнал про quoted-printable. Оказалось, что избавиться от этих переводов строк можно указав соответствующий ситуации Content-Transfer-Encoding. В данном случае это оказался 8bit.


MP.AddFormField('JSON', J.ToString, 'utf-8').ContentTransfer := '8bit';


P.S. У меня дежа-вю... Кажется я уже задавался этим вопросом...


Обычный Порошок   (2013-08-06 20:50:00) [2]

Как избавиться?

Как избавиться от TIdMultiPartFormDataStream?
Или как избавиться от TidHTTP?

Ole object.
xmlhttprequest.
и будет все нативно, а не через индёвый анус


mfender   (2013-08-06 19:00:00) [3]

Поясню. Я отправляю вот такую строку:

{"type":"class_Protocol.TAgregatorProtocol","id":1,"fields":{"FRemoteController" :"","FRemoteMethod":"","FData":{"type":"System.TObject","id":2,"fields":{}},"FLo g":null}}


А получаю вот такую беду:

{"type":"class_Protocol.TAgregatorProtocol","id":1,"fields":{"FRemoteC=
ontroller":"","FRemoteMethod":"","FData":{"type":"System.TObject","id"=
:2,"fields":{}},"FLog":null}}


mfender   (2013-08-06 18:58:00) [4]

И на кой он мне нужен? Мне JSON нужен, а в таком виде его ни один JSON-парсер не вразумляет.


брат Птибурдукова   (2013-08-06 18:45:00) [5]

А что в ней странного? Банальный перевод строки в виндовом стиле.


Наверх

Титульная страница Поиск, карта сайта Написать письмо