void DownLoadFile(CString fileName)
{
INTERNET_PORT nPort = 9090;
HINTERNET hInternet;
HINTERNET hConnect;
HINTERNET hRequest;
CfileSrc filesrc;
LPCTSTR accept[] = {_T("*/*"), NULL};
CFileDialog saveFileDlg(FALSE, NULL, fileName, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T("AllFiles (*.*)|*.*||"));
if(saveFileDlg.DoModal() == IDOK)
{
FILE *pFile = NULL;
if((pFile = filesrc.SaveFile(::CT2A(saveFileDlg.GetPathName()))) == NULL)
{
printf("open file error!");
return;
}
CString szfileName = saveFileDlg.GetFileName();
hInternet = ::InternetOpen(_T("FileDownload"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
hConnect = ::InternetConnect(hInternet, _T(""), nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
hRequest = ::InternetOpenUrl(hInternet, _T("http://127.0.0.1:9090/plugins/fileservice/fileservice"), _T("fileName:") + szfileName, 0, 0, 0);
memset(buffer, 0, sizeof(buffer));
DWORD byteRead;
while(::InternetReadFile(hRequest, buffer, sizeof(buffer), &byteRead) == TRUE && byteRead > 0)
{
fwrite(buffer, sizeof(char), byteRead, pFile);
}
::InternetCloseHandle(hInternet);
::InternetCloseHandle(hConnect);
::InternetCloseHandle(hRequest);
filesrc.CloseFile(pFile);
}
}
利用WinInet用GET方式从servlet下载文件
最新推荐文章于 2024-03-29 15:13:21 发布