Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure DoRequest;
- var
- Http: TIdHTTP;
- Params: TIdMultipartFormDataStream;
- RequestStream, ResponseStream: TStringStream;
- JRequest, JResponse: TJSONObject;
- url: string;
- begin
- url := 'some_custom_service'
- JRequest := TJSONObject.Create;
- JResponse := TJSONObject.Create;
- try
- JRequest.AddPair('Pair1', 'Value1');
- JRequest.AddPair('Pair2', 'Value2');
- JRequest.AddPair('Pair3', 'Value3');
- Http := TIdHTTP.Create(nil);
- ResponseStream := TStringStream.Create;
- RequestStream := TStringStream.Create(UTF8Encode(JRequest.ToString));
- try
- Params := TIdMultipartFormDataStream.Create;
- Params.AddFile('File', ceFileName.Text, '').ContentTransfer := '';
- Params.AddFormField('Json', 'application/json', '', RequestStream);
- Http.Post(url, Params, ResponseStream);
- JResponse := TJSONObject.ParseJSONValue(ResponseStream.DataString) as TJSONObject;
- finally
- RequestStream.Free;
- ResponseStream.Free;
- Params.Free;
- Http.Free;
- end;
- finally
- JRequest.Free;
- JResponse.Free;
- end;
- end;
- var
- s: String;
- begin
- s := EncodeHeader('Επιστολή εκπαιδευτικο.docx', '', 'B', 'UTF-8');
- ShowMessage(s); // '=?UTF-8?B?zpXPgM65z4PPhM6/zrvOriDOtc66z4DOsc65zrTOtc+Fz4TOuc66zr8uZG9j?='#13#10' =?UTF-8?B?eA==?='
- s := DecodeHeader(s);
- ShowMessage(s); // 'Επιστολή εκπαιδευτικο.docx'
- s := EncodeHeader('Επιστολή εκπαιδευτικ.docx', '', 'B', 'UTF-8');
- ShowMessage(s); // '=?UTF-8?B?zpXPgM65z4PPhM6/zrvOriDOtc66z4DOsc65zrTOtc+Fz4TOuc66LmRvY3g=?='
- s := DecodeHeader(s);
- ShowMessage(s); // 'Επιστολή εκπαιδευτικ.docx'
- s := EncodeHeader('Επιστολή εκπαιδευτικ .docx', '', 'B', 'UTF-8');
- ShowMessage(s); // '=?UTF-8?B?zpXPgM65z4PPhM6/zrvOriDOtc66z4DOsc65zrTOtc+Fz4TOuc66?= .docx'
- s := DecodeHeader(s);
- ShowMessage(s); // 'Επιστολή εκπαιδευτικ .docx'
- end;
- with Params.AddFile('File', ceFileName.Text, '') do
- begin
- ContentTransfer := '';
- HeaderEncoding := 'Q'; // <--- here
- HeaderCharSet := 'utf-8';
- end;
- with Params.AddFile('File', ceFileName.Text, '') do
- begin
- ContentTransfer := '';
- HeaderEncoding := '8'; // <--- here
- HeaderCharSet := 'utf-8';
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement