Клиент написан на Delphi отправляет файл Code: ... const URL_POST = 'hots.ru/uploadtest.ashx'; ... procedure POSTFile(Filename: String); var TotalDataCount, i: Integer; IdHTTP: TIdHTTP; LPostStream: TIdMultiPartFormDataStream; LResultStream: TStringStream; LpostString: String; function PostDecode(AString: String): String; begin Result := CharReplace(AString, '%', ' '); Result := CharReplace(Result, '&', ' '); end; begin IdHTTP := TIdHTTP.Create(nil); try IdHTTP.MaxLineLength := 0; //koi8-r windows-1252 LPostStream := TIdMultiPartFormDataStream.Create; LpostString:= FileToString(Filename); LPostStream.AddFormField('UserData', PostDecode(LpostString)); LResultStream := TStringStream.Create(''); try try IdHTTP.Post(URL_POST, LPostStream, LResultStream); except on E:Exception do begin Showmessage(E.Message); end; end; showmessage(LResultStream.DataString); finally LPostStream.Free; LResultStream.Free; end; finally IdHTTP.Free; end; end; файл uploadtest.ashx содержит скрипт Code: string x = "sdsdsd"; System.IO.File.WriteAllText(@"c:\text1.txt", x); x это данные которые он принимает... файл сохраняеться но откуда то появляються лишние байты, пробовал менять кодировку, скорее всего дело в ней, но никак не могу подобрать нужную Кто сталкивался с такой проблемой... прошу помоч.
просматриваю полученный файл в хексе и вижу в некоторых строчках лишние байты, которые соответственно смещают код, пробовал менять кодировку ... приходт опять же похожий файл... но всё таки изменённый... и при каждой кодировке изменения эти разные. А чёть не забыл, если это важно, исходный файл mdb, я его сжимаю в zip потом переименовываю в txt, оставшийся после отправки файл обратно распоковываеться нормально, а вот принятый никак...
Разобрался... надо просто было делать проще Code: LpostString:= FileToString(Filename); LResultStream := TStringStream.Create(LpostString); LPostStream.AddObject('UserData', 'image/GIF', LResultStream); и потом постовать... хз почему но файл приходит с 2 лишними байтами в начале(Enter)....пришлось просто при Get'е их обрубать...