Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > TIDHTTP отправка файла с Русским именем


Автор: dyager 2.1.2016, 21:29
НАРОД, ПОМОГИТЕ. ВЕСЬ ИНЕТ ПЕРЕРЫЛ

Проблема следующая:
отправляю post запрос через TIdHttp, в Post-запросе файл c русским названием, где-то по пути ломается название.

было: Тgffgекстовка.txt
стало: =?KOI8-R?B?9GdmZmfFy9PUz9fLwS50eHQ=?=

результат Http Analizer:

----------122415134445042
Content-Disposition: form-data; name="document_type"
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

8
----------122415134445042
Content-Disposition: form-data; name="document_file"; filename="=?KOI8-R?B?9GdmZmfFy9PUz9fLwS50eHQ=?="
Content-Type: application/octet-stream;
Content-Transfer-Encoding: binary

??????N????µ??N??°N???N?

----------122415134445042--

Часть процедуры отправки файла в сеть:

    lHTTP.Request.CustomHeaders.AddValue('X-CSRFToken', SERVEREXPLORER.IdCookieManager1.CookieCollection.Items[0].Value);
    lHTTP.Request.AcceptEncoding:='gzip, deflate';
    lHTTP.Request.AcceptCharSet:='utf-8';
    lHTTP.Response.ContentType := 'text/json; charset=utf-8';
    data.AddFormField('document_type', FileType, 'utf-8');
    data.AddFile('document_file', Тgffgекстовка.txt, 'application/octet-stream;');
    lHTTP.Post(aURL, data);

Вопрос, как сделать так, чтобы название файла не ломалось, а оставалось в юникоде.

Версия Indy: Indy Library 10.5.7
Сервер написан на Django.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)