CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 15 of 17

Threaded View

  1. #1
    Join Date
    May 2010
    Posts
    38

    Problem With Internet WriteFile

    Hi,
    I have problems with below code:
    Code:
    HINTERNET	Initialize = InternetOpen(0, //Name of Application Calling (Agent)
    INTERNET_OPEN_TYPE_DIRECT, //Access Type
    NULL, //Proxy Name
    NULL, //Proxy Bypass
    0); //Flags
    
    HINTERNET hConnect = InternetConnect(Initialize, // InternetOpen handle
    server, // Server name
    80, // HTTPS port
    user, // User name
    pass, // User password
    INTERNET_SERVICE_HTTP, // Service
    0, // Flags
    0); // Context
    
    FtpSetCurrentDirectoryW(hConnect, path);
    HINTERNET hReq = HttpOpenRequest(hConnect, //InternetConnect handle
    L"POST", //Method
    r1, //Object name
    NULL, //Version
    NULL, //Referrer
    NULL, //Extra headers
    INTERNET_FLAG_KEEP_CONNECTION &&
    INTERNET_FLAG_NO_CACHE_WRITE, //Flags
    0); //Context
    
    HANDLE hFile = CreateFile(upFile, //File name
    GENERIC_READ, //Desired Access
    FILE_SHARE_READ, //Share Mode
    NULL, //Security Attribute
    OPEN_EXISTING, //Creation Disposition
    FILE_ATTRIBUTE_NORMAL, //Flags and Attributes
    NULL); //Template File
    
    if(hFile == INVALID_HANDLE_VALUE)
    {
    printf("\nFailed to open local file %s.", upFile);
    return FALSE;
    }
     
    //DWORD BufferIn.dwBufferTotal = GetFileSize(hFile, NULL);
    //printf("File size is %d\n", BufferIn.dwBufferTotal);
    BOOL bRead;
    BOOL bRead1;
    BYTE pBuffer[1024];
    BYTE pBuffer1[1024];
    DWORD dwBytesRead;
    BOOL bRet;
    bool result;
    DWORD dwBytesWritten;
     
    if(HttpSendRequestEx(hReq, NULL, 0, NULL,0))
    {
    DWORD sum = 0;
    do
    {
    if(!(bRead = ReadFile(hFile, pBuffer, sizeof(pBuffer), &dwBytesRead, NULL)))
    {
    printf("\nReadFile failed on buffer %lu.", GetLastError());
    result = FALSE;
    break;
    }
     
    
     
    if(!(bRet=InternetWriteFile(hReq, pBuffer, dwBytesRead, &dwBytesWritten)))
    {
    printf("\nInternetWriteFile failed %lu", GetLastError());
    if (GetLastError() == 12019)
    {
    cout << "\nERROR_INTERNET_INCORRECT_HANDLE_STATE\n" << endl;
    }
     result = FALSE;
    break;
    }
    sum += dwBytesWritten;
    }
    while(dwBytesRead == sizeof(pBuffer));
     
    CloseHandle(hFile);
    printf("\nActual written bytes: %d\n", sum);
    }
     
    /*close file , terminate server connection and
    deinitialize the wininet library*/
    InternetCloseHandle(hReq);
    InternetCloseHandle(hConnect);
    InternetCloseHandle(Initialize);
    It runs and not shows any errors.
    But my problem is that not make any file and write on that in my server.
    Other my problem is how define path in my code?
    for example my file is in www.www.com/reza
    how make that read my file in "reza" folder(path).
    Regards,
    Last edited by rezame; September 18th, 2011 at 01:14 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured