Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Внизкак закачать картинку с помощью idhttp1 Найти похожие ветки
← →
Officeman (2006-10-12 14:03) [0]как правильно сохранить файл на диске, полученный с помощью "get"
idhttp1.Get("пусть к картинке")
← →
Officeman (2006-10-12 14:07) [1]уже разобрался.
writeln (fsave, idhttp3.Get(url_server.Text+TOVAR));
← →
Dmitrij_K (2006-10-12 14:28) [2]
var
stream: TFileStream;
begin
stream := nil
try
stream := TFileStream.Create("картинка", fmCreate);
IdHttp1.Get(url, stream);
finally
stream.free;
end;
← →
Officeman (2006-10-14 02:25) [3]Подскажите пожалуйста. как проверить существует этот адрес или нет.
а то картинки нету и мне возвращается ошибка ;(
← →
Officeman (2006-10-14 02:31) [4]если файла нет в Интернете по указанному адресу. то выдаётся такая ошибка
"EidProtocolReplyErroro" 400 Bad Request
что делать? подскажите
← →
Ketmar © (2006-10-14 06:13) [5]таки ловить это исключение. для чего полезно сначала язык выучить, на котором писать собрался.
← →
mfender © (2006-10-14 09:31) [6]
> Officeman (14.10.06 02:31) [4]
> если файла нет в Интернете по указанному адресу. то выдаётся
> такая ошибка
>
> "EidProtocolReplyErroro" 400 Bad Request
>
> что делать? подскажите
Ketmar совсем не матерился, а просто имел ввиду отслеживание ошибок в блоках try...except.
Во все спорных местах следует предупреждать возможные исключения (читай - нужно их предвидеть). Т.е., в данном случае это может выглядеть так:
try
{действия по загрузке файла}
except
on EidProtocolReplyErroro do
begin
{обработка исключения в случае, если файла нет на диске}
end;
end;
← →
Officeman (2006-10-14 12:33) [7]Help me!
даётся ссылка на jpeg файл
надо его скачать и записать на диск.
*с условием качать только один раз
1) в данном варианте скачивается нормально, но если ссылка нерабочая то
процесс прерывается.
assignfile (fsave,AppDir+"data\images\"+inttostr(strtoint(LV.Items[strtoint(LVkeyNom.Caption)].SubItems[1])+IMAGE_ID)+".jpg");
rewrite (fsave);
writeln (fsave, idhttp3.Get(url_server.Text+TOVAR));
closefile (fsave);
← →
Officeman (2006-10-14 13:11) [8]при таком варианте.
stream := nil;
try
stream := TFileStream.Create(AppDir+"data\images\"+Trim(LVkey.Text)+"-"+inttostr(strtoint(LV.Items[strtoint(LVkeyNom.Caption)].SubItems[1])+IMAGE_ID)+".jpg", fmCreate);
IdHttp1.Get(url_server.Text+TOVAR, stream);
finally
при нерабочей ссылке, показывает ошибку вIdHttp1.Get(url_server.Text+TOVAR, stream);
далее проперить можно так,
IdHttp1.Get(url_server.Text+TOVAR, stream);
try
finally
end;
..но этот код проверяет успешность скачки, но при мёртвой ссылке также вылелает
← →
Percent (2006-10-14 13:15) [9]try
IdHttp1.Get(url_server.Text+TOVAR, stream);
except
on E: Exception do
Label1.Caption := E.Message;
end;
P.S. Для наглядности запускать не из-под Delphi IDE, или отключить в настройках остановку при исключении.
← →
Officeman (2006-10-14 13:27) [10]Percent, огромное спасибо. спасли.
p.s. запомнил.
← →
Officeman (2006-10-14 16:05) [11]нашёл ошибку,
URL: имя катринки может быть С ПРОБЕЛАМИ
Fly Bird V11_33446.jpg
при передачи этого имени в GET, надо избавиться от <пробелов>
вместо них добавить %20
как это сделать??
чтобы символ добавить то так.while Pos(" ", TOVAR) > 0 do begin
TOVAR[Pos(" ", TOVAR)] := "+";
end;
как добавить ещё и цифры? с Char чёто неполучается (((
← →
Officeman (2006-10-14 16:06) [12]т.е.
while Pos(" ", TOVAR) > 0 do begin
TOVAR[Pos(" ", TOVAR)] := "%";
end;
← →
Officeman (2006-10-14 16:22) [13]ТАк нормально, или тупо?
procedure TForm1.Button1Click(Sender: TObject);
var
TOVAR,REZ,p:string;
ss,ai,h:integer;
begin
TOVAR:=edit1.Text; // входные данные, имя файла (с пробелами)
ss:=0;
for ai:=1 to length(TOVAR) do begin
if TOVAR[ai]=" " then begin
ss:=ss+1;
if ss>0 then begin
p:=Copy(TOVAR,h+1,ai-h-1);h:=ai; // делим
REZ:=REZ+p+"%20"; // добавляем "%20"
end;
end;
end;
REZ:=REZ+Copy(TOVAR,h+1,length(TOVAR)); // добавляем "%20" последную часть
memo1.lines.add(REZ); // выводим результат
end;
← →
Officeman (2006-10-14 16:55) [14]всё. всем спасибо. всё бачет. всмысле работает.
желаю всем успехов.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c