Главная страница
    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.45 MB
Время: 0.008 c
14-46122
Supra
2002-10-21 20:24
2002.11.14
Насчёт Visual C++


7-46180
Dozer
2002-09-09 11:16
2002.11.14
Народ !!! Как можно изменить настройки CMOS из под Windows


3-45695
DDS
2002-10-28 10:37
2002.11.14
Как програмно установить BDE


3-45793
Alex Shulg
2002-10-24 15:00
2002.11.14
LangDriver (FoxPro)


3-45717
Fishka
2002-10-23 15:22
2002.11.14
Ограничение на значение в столбце





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский