Главная страница
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.024 c
3-45672
Hamlet
2002-10-25 20:19
2002.11.14
Clarion


4-46196
АндрейС
2002-10-04 13:55
2002.11.14
собственная кнопка


6-46021
DNT
2002-09-15 10:27
2002.11.14
SendText


14-46139
][Rih@rd][
2002-10-26 08:17
2002.11.14
Помогите подростающему поколению


14-46130
VictorT
2002-10-23 20:12
2002.11.14
Поломали рассылку