|
Вопрос # 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 (статус: 1-ый класс)
Вопрос отправлен: 4 мая 2007, 19:53
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 2 сентября 2010, 21:23; участников в обсуждении: 3.
|
Дмитрий-998 (статус: 1-ый класс), 6 мая 2007, 19:10 [#1]:
Насколько я понимаю нет тут таких експертов ктоб в этом что-то понимал, а еще статусы киломитровые...обидно однако...
|
|
Dron (статус: Студент), 6 мая 2007, 20:19 [#2]:
Каким образом происходит отправка файла на сервер? Через HTTP, как в html <input type=file> или каким-то другим способом (через FTP например)? Если первым, то возможно, что прогресс и не получится отобразить. Даже сами браузеры показывают лишь общий объём отосланных данных (помимо файла в форме могут быть другие элементы), а не процент отправленного файла. А если через FTP, например, то там всё реализуемо...
С уважением.
|
|
Дмитрий-998 (статус: 1-ый класс), 6 мая 2007, 21:23 [#3]:
Да нет вы ошибаетесь, есть у меня прога созданная кем-то другим и в его программе есть слежка за всем процессом отправки файла, а файл отправляется через HTTP, как в html но в его тоесть в той проге есть слежка, и написана прога была на Дельфях, жаль что у меня нет исходника этой проги...
|
|
Dron (статус: Студент), 6 мая 2007, 21:27 [#4]:
Иногда бывает проще найти исходники, чем вникнуть в тему и сделать заново К сожалению, по данному вопросу ничем помочь не смогу.
С уважением.
|
|
Дмитрий-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 (статус: Студент), 6 мая 2007, 21:53 [#6]:
И? Список всех модулей.
С уважением.
|
|
antoca (статус: Посетитель), 2 сентября 2010, 21:23 [#7]:
Гыгы... список модулей эта крута
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|