Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Delphi, Cgi and MIME.   Найти похожие ветки 

 
Vasily5000   (2002-09-17 04:31) [0]

Есть форма отправки писем в html, пользователь задает параметры, выбирает файлы, кот шлет атачем. Небольшая трудность возникает на сервере при обработке переданных параметров, т.к. они кодируются в mime, то стандартными средствами их не получишь. Свой парсер писать лень. Может быть есть какой-нить универсальный компонент или класс для этого случая?

P.s.
пока я нашел только статью по этому поводу:
http://www.codenet.ru/progr/delphi/stat/dupload.php
а хотелось бы класс или компонент


 
Ghost. ©   (2002-09-17 09:32) [1]

Я чета не совсем понял тебе перекодировать из МИМЕ или пассер это разные вещи..


 
vasily5000   (2002-09-18 07:14) [2]

Уточнаю: пусть на сервер передается несколько параметров:
Кому отсылать письмо, тема,
текст письма,
ну и из-за чего все это - несколько прикрепленных файлов.
Теперь просто из Request тащить параметры по имени не получается, необходимо их вытаскивать из строки в mime формате.


 
vasily5000   (2002-09-20 06:32) [3]

Никто с этим не сталкивался что ли ?


 
panov ©   (2002-09-20 08:47) [4]

function Decode(Value: String):String;
var
i,L: Integer;
begin
Result := "";
L := 0;
for i := 1 to Length(Value) do
begin
if (Value[i]<>"%") and (Value[i]<>"+") and (L<1) then
begin
Result := Result + Value[i];
end
else
begin
if Value[i]="+" then Result := Result+" "
else if Value[i]="%" then
begin
L := 2;
if (i<Length(Value)-1) then
begin
Result := Result + Chr(StrToInt("$"+Copy(Value,i+1,2))); //Chr(HexToInt(Value[i+1])*16+HexToInt(Value[i+2]));
end;
end
else Dec(L);
end;
end;
end;

function ParamByName(inParams: String;Name: String): String;
var
ss,st: String;
k: Integer;
begin
Result := "";
ss := InParams;
while Length(ss)>0 do
begin
k := Pos("&",ss);
if k>0 then
begin
st := Copy(ss,1,k-1);
ss := Copy(ss,k+1,10000);
end
else
begin
st := ss;
ss := "";
end;
k := Pos("=",st);
if K>0 then
begin
if Name=Copy(st,1,k-1) then
begin
Result := Decode(Copy(st,k+1,6000));
end;
end;
end;

end;



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
4-46210
Stealth13
2002-09-11 11:53
2002.11.14
как


6-46022
s002156Shurik
2002-09-16 14:11
2002.11.14
Закачка файлов по http с восстановлением после сбоев.


6-46023
snowman
2002-09-13 16:02
2002.11.14
Как узнать имя под которым расшарена директория?


3-45667
Александр
2002-10-25 16:21
2002.11.14
DBGrid не воспринимает русский


14-46126
RV
2002-10-17 16:05
2002.11.14
С днем рождения! BigBadMutuh!