[VB.NET | C#] Проблема с закачкой

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ichechen, 30 Apr 2010.

  1. ichechen

    ichechen New Member

    Joined:
    16 Oct 2009
    Messages:
    33
    Likes Received:
    4
    Reputations:
    8
    Итак, есть код, код который должен закачивать файлы на хост посредством HTTP
    Code:
     
     Private Function FUPD(ByVal localFilePath As String, ByVal remoteFilePath As String)
            Try
                Dim request As WebRequest = WebRequest.Create(http_URL & "/core.php")
                request.Method = "POST"
                Dim postData As String = "OP=UPD&pr1=" & remoteFilePath & "&pr2=" & File.ReadAllText(localFilePath)
                request.ContentType = "application/x-www-form-urlencoded"
                request.ContentLength = postData.Length
                Dim dataStream As Stream = request.GetRequestStream()
                dataStream.Write(System.Text.Encoding.Default.GetBytes(postData), 0, System.Text.Encoding.Default.GetBytes(postData).Length)
                dataStream.Close()
                Dim response As WebResponse = request.GetResponse()
                dataStream = response.GetResponseStream()
                Dim reader As New StreamReader(dataStream)
                Dim responseFromServer As String = reader.ReadToEnd()
    
                ' If responseFromServer <> Nothing Then MsgBox(responseFromServer)
    
                reader.Close()
                dataStream.Close()
                response.Close()
                Return true
         Catch ex as Exception
                Return false
         End Try
    End Function
    
    На приеме сидит пэйчпи скрипт
    PHP:
    <?php
    $curOp
    =$_POST['OP'];
    $arg_1=$_POST['pr1'];
    $arg_2=$_POST['pr2'];

    //DO COMPORATION

    switch ($curOp
    {

        case 
    'UPD':     
        
    $handle fopen("$arg_1","w");    
        
    fclose($handle);
        
    fwrite($handle,"$arg_2");
        
            case 
    'DWN':
            if (
    file_exists($arg_1)) 
            {
        echo 
    file_get_contents("$arg_1");
        }
        break;     
    }
    exit;
    ?> 
    С закачкой текстовых файлов проблем никаких не возникает, но как только дело касается чего то иного - ужс, файлы появляются.. с нулевой длиной((
    Как бы это дело исправить?

    По ходу проблема возникаеи из-за:
    Code:
    File.ReadAllText(localFilePath)
    Так, как считать текст из бинарного файла - идея плохая)) Что с этим можно поделать?

    Устраивают любые варианты закачки, главное чтобы код закачивал ЛЮБЫЕ файлы через HTTP

    Код пойдет как на Vb.net так и на C#
    Заранее спасибо ;)
     
    #1 ichechen, 30 Apr 2010
    Last edited: 30 Apr 2010
  2. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    Попробуй BinaryReader
     
  3. ichechen

    ichechen New Member

    Joined:
    16 Oct 2009
    Messages:
    33
    Likes Received:
    4
    Reputations:
    8
    Можешь код привести? Я просто до селе не работал с бинариридер :-[