Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 551

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!

Мучаюсь уже месяц, весь интернет перерыл, нигде не могу найти, пробовал много разных способов, ничего не получается.

Не подскажите мне, как можно закачать файл на сервер, но при этом чтоб можно было организовать прогресс бар, тоесть контролировать прогресс заливки...

использую вот такие функции:
hI:= InternetOpen(pchar(http_agent_string), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

hConnect:= InternetConnect(hI, aURLc2.lpSzHostName, aURLc2.nPort{INTERNET_DEFAULT_HTTPS_PORT}, aURLc2.lpszUserName, aURLc2.lpszPassword, INTERNET_SERVICE_HTTP, 0, context);

hFile:= HTTPOpenRequest(hConnect, PChar(RequestMethod), aURLc2.lpSzUrlPath, HTTP_VERSION, nil, nil, dwflags, context);

if not HTTPSendRequest(hFile,pchar(extraHeaders),length(extraHeaders),aURLc2.lpSzExtraInfo,aURLc2.dwExtraInfoLength)then dwError := getlasterror;

В параметре extraHeaders находится заголовок и сам файл в формате Base64, файл сервер принимет без проблем, но при этом я не могу организовать прогресс бар, так как пока функция HTTPSendRequest работает у меня останавливается вся программа, но и это не проблемма, эту отправку я организую в другом процессе, и нигде не могу найти статистики, обсмотрел весь модуль WinInet ничего подобного не нашел...

Сервер работает через HTTPS протокол, но при отправлении файла указываю URL: http://servername.ru/put/

Заранее, Огромное спасибо!!!

Дмитрий-998 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Дмитрий-998 (статус: 1-ый класс)
Вопрос отправлен: 4 мая 2007, 19:53
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 2 сентября 2010, 21:23; участников в обсуждении: 3.
Дмитрий-998

Дмитрий-998 (статус: 1-ый класс), 6 мая 2007, 19:10 [#1]:

Насколько я понимаю нет тут таких експертов ктоб в этом что-то понимал, а еще статусы киломитровые...обидно однако...
Dron

Dron (статус: Студент), 6 мая 2007, 20:19 [#2]:

Каким образом происходит отправка файла на сервер? Через HTTP, как в html <input type=file> или каким-то другим способом (через FTP например)? Если первым, то возможно, что прогресс и не получится отобразить. Даже сами браузеры показывают лишь общий объём отосланных данных (помимо файла в форме могут быть другие элементы), а не процент отправленного файла. А если через FTP, например, то там всё реализуемо...
С уважением.
Дмитрий-998

Дмитрий-998 (статус: 1-ый класс), 6 мая 2007, 21:23 [#3]:

Да нет вы ошибаетесь, есть у меня прога созданная кем-то другим и в его программе есть слежка за всем процессом отправки файла, а файл отправляется через HTTP, как в html но в его тоесть в той проге есть слежка, и написана прога была на Дельфях, жаль что у меня нет исходника этой проги...
Dron

Dron (статус: Студент), 6 мая 2007, 21:27 [#4]:

Иногда бывает проще найти исходники, чем вникнуть в тему и сделать заново :-) К сожалению, по данному вопросу ничем помочь не смогу.
С уважением.
Дмитрий-998

Дмитрий-998 (статус: 1-ый класс), 6 мая 2007, 21:42 [#5]:

Рассматривая зкзешник нашел там вот это:
StdConvs,
RTLConsts,
System,
SysInit,
DateUtils,
SysUtils,
KWindows,
UTypes,
SysConst,
Math,
CConvUtils,
XPMan,
Classes,
Messages,
Variants,
VarUtils,
QTypInfo,
ActiveX,
ALMemo,
Forms,
Printers,
Consts,
WinSpool,
Graphics,
CommCtrl,
FlatSB,
StdActns,
Clipbrd,
StrUtils,
ShellAPI,
Controls,
Themes,
ComCtrls,
ComStrs,
ExtActns,
Mapi,
ActnList,
Menus,
Contnrs,
ImgList,
StdCtrls,
Dialogs,
ExtCtrls,
Dlgs,
CommDlg,
ShlObj,
RegStr,
WinInet,
UrlMon,
ExtDlgs,
Buttons,
Registry,
IniFiles,
UxTheme,
SyncObjs,
RichEdit,
ToolWin,
ListActns,
MultiMon,
Imm,
WinHelpViewer,
HelpIntfs,
ALCommon,
ALScrollBar,
HTMLChkList,
PictureContainer,
ComObj,
ComConst,
AdvStyleIF,
HTMLXPVS,
AdvGradient,
ALListBox,
ALComboBox,
HTMLabel,
HTMListB,
MHTTP,
Main,
Grids,
Mask,
MaskUtils,
IBEAntialiasButton,
IBEButton,
IBEBmpUtils,
ALWinHttpClient,
ALHttpCommon,
HTTPApp,
WebConst,
BrkrConst,
Masks,
AlFcnRFC,
ALfcnString,
ALCPUID,
ALHttpClient,
ALMultiPartFormDataParser,
ALFcnMime,
ALWinHttpWrapper,
QProgBar,
CoolTrayIcon,
SimpleTimer,
RasUtils,
RasError,
Ras,
Lmcons,
LmErr,
RasHelperClasses,
FileCtrl,
ConsoleApp,
CECheckbox,
XStringGrid,
Changelog,
ALStaticText,
ALPanel,
ALFcnMisc,
ALEdit,
ALButton,
ActnColorMaps,
GraphUtil,
ActnMan,
ActnMenus,
MMSystem,
ActnCtrls,
ShadowWnd,
NMICMP,
WinSock
Dron

Dron (статус: Студент), 6 мая 2007, 21:53 [#6]:

И? Список всех модулей.
С уважением.
antoca

antoca (статус: Посетитель), 2 сентября 2010, 21:23 [#7]:

Гыгы... список модулей эта крута

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.02 сек.