Войти

Показать полную графическую версию : [решено] Скачивание файла


null999
06-04-2017, 18:43
Нужно написать прогу на скачивание файла с интернета
пробовал это

AnsiString URL_DOWNLOAD ="http://fex.net/load/168196411239/7963174";
AnsiString FILE_NAME="9.ico";
TFileStream* FILE_STREAM = new TFileStream(FILE_NAME, fmCreate | fmOpenWrite);
IdHTTP1->Get(URL_DOWNLOAD, FILE_STREAM);
delete FILE_STREAM;

но после клика по button выскакивает ошибка Cannot create file 9.ico

null999
07-04-2017, 17:10
у кого-то есть идеи?

mwz
07-04-2017, 17:24
null999, не вижу чтобы было указано, в какой каталог сохранять файл 9.ico.

null999
07-04-2017, 19:32
mwz, без указания каталога файл сохраняется рядом с exe

mwz
07-04-2017, 20:24
null999, а в какой папке лежит exe-файл?

Я не зря задал предыдущий вопрос-утверждение. Частный его случай: если программа лежит внутри %ProgramFiles% или %ProgramFiles86%, то при запуске без административных прав у неё нет прав на запись в свою папку и вы получите отлуп.

Да и не факт, что программа старается сохранить файл в своём каталоге. И указание только имени файла без указания места сохранения может вас ещё не раз подвести (не в этом — так в другом случае) при казалось бы абсолютно ясном алгоритме.

PS
Ну и, что следует из сказанного выше, попробуйте для эксперимента запустить её с правами администратора.

null999
07-04-2017, 20:48
mwz, при запуске от админа сохраняется файл весом 0 байт с именем 9.ico

mwz
07-04-2017, 21:06
null999, т.е. половина проблемы решена. Ошибок больше нет?

Теперь надо запрограммировать так, чтобы файл сохранялся не в запрещённых для записи каталогах (обычно для выбора каталога сохранения используют диалоговое окно, с автоматической подстановкой имени того каталога, куда файл должен сохраниться по умолчанию; если каталог не существует — он должен быть создан программой в процессе), и разбираться почему файл не создаётся правильно.

null999
07-04-2017, 22:07
mwz, немного не правильно выразился, наверное...файл создается, но ошибка всеравно появляется

mwz
08-04-2017, 00:32
но ошибка все равно появляется »
Та же самая?

null999
08-04-2017, 09:37
mwz, да

null999
11-04-2017, 14:33
попробовал на другом пк...при нажатии на баттон, появляеться ошибка "302 moved" и создается пустой файл 9.ico

null999
11-04-2017, 15:41
проблема решилась, нужно в в IdHTTP1 в параметре HandleRedirects поставить true

null999
21-08-2018, 10:45
АП

Возможно ли этот вариант подружить с https ?




© OSzone.net 2001-2012